Android学习笔记-隐藏app图标

来源:互联网 发布:淘宝卖家签收拒绝退款 编辑:程序博客网 时间:2024/05/22 06:18

在manifest的入口activity里面intent-filter中设置<data></data>元素。

比如:

<data android:host=”AuthActivity” android:scheme=”com.android.example” />

注意,android:scheme是大小写敏感的,必须以小写字母开头

也就是这个MainActivity可以响应Uri为com.android.example://AuthActivity的特定 Intent

但是为什么加入这个之后app就不显示图标了呢?

因为我们把app的入口Activity申明为由接收隐士的Intent来启动,这样自然也就不会显示图标了。

好了,如果需要显示图标的话而且也必须响应上述Uri的话,那么我们可以在该Activity中再加入一个intent-filter标签,将data元素移到新建的标签中。这样应用既可以显示图标又可以响应特定的Uri了。



因为我们把app的入口Activity申明为由接收隐匿的Intent来启动,这样自然也就不会显示图标了。
好了,如果需要显示图标的话而且也必须响应上述Uri的话,那么我们可以在该Activity中再加入一个intent-filter标签,将data元素移到新建的标签中。这样应用既可以显示图标又可以响应特定的Uri了。

//假设有程序A调用程序B,程序B图标隐藏不可见

则有:程序A中:

public void starAct(){Intent intent = new Intent( ); ComponentName cn = new ComponentName("com.key.poc", "com.key.poc.MainActivity");              intent.setComponent(cn);   Uri uri=Uri.parse("com.key.poc.MainActivity");//此处应与B程序中Data中标签一致     intent.setData(uri); startActivity(intent);}

则程序B中Mainifest.xml配置为:

  <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                           <action android:name="android.intent.action.MAIN" />                                       <data                    android:host="MainActivity"                    android:scheme="com.key.poc" />            </intent-filter>        </activity>

0 0
原创粉丝点击