AndroidManifest中的Intent-filter标签

经过测试,intent-filter标签中的:

1.

<action android:name="android.intent.action.MAIN" />

代表这是程序的入口Activity。如果没有Activity有这个声明,程序将没有图标。

 

2.

<category android:name="android.intent.category.LAUNCHER" />

引用API:Should be displayed in the top-level launcher.

代表这个Activity的category是LAUNCHER类型。LAUNCHER类型的Activity会显示在程序列表中,如果没有Activity有这个声明,程序将没有图标,但在「已安装列表」中会有。

 

3.原理类似,在2.3的系统上使用如下代码会使得用户在卸载程序列表中找到这个Activity的选项。

<activity android:label="卸载程序" android:name="com.example.hardtouninstall.Uninstall">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.DELETE" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="package" />
            </intent-filter>
        </activity>

Android4.3以上这个方法失效,会直接卸载。

 

4.「category.DEFAULT」牵涉到implicit intent,先到这了。。

 

参考:http://developer.android.com/reference/android/content/Intent.html#ACTION_DELETE

posted @ 2014-03-19 16:33  LarryLawrence  阅读(4039)  评论(0编辑  收藏  举报