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

原文地址:https://www.cnblogs.com/Jeely/p/11046452.html