应用程序信息 -> “清除默认设置” 信息的保存位置

在实际工作中可能会遇到想把系统中某个特定的应用在程序中将自身或真其他程序设置成默认执行的程序的状况。

比如把自己的开发的Launcher设置成系统默认的Launcher。

注:

(1)这个在安卓2.2以前还是有系统的接口的,现在相应的接口已经被google废弃,不能再使用了,我也没搜集到好的办法。

 (2)以下方法没有经过实际验证,仅供参考

  • 应用将应用程序设置成默认应用的方法:

android SDK 1.5以前:

---------------------------------------------------------------------------------------------------------------------

AndroidManifest.xml:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    <category android:name="android.intent.category.HOME"/>
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS">
</uses-permission>

android SDK 1.6 ~ SDK 2.1:

---------------------------------------------------------------------------------------------------------------------

PackageManager pm = getPackageManager();

IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.MAIN");
filter.addCategory("android.intent.category.HOME");
filter.addCategory("android.intent.category.DEFAULT");

Context context = getApplicationContext();
ComponentName component = new ComponentName(context.getPackageName(), TestReplaceHomeAppActivity.class.getName());

ComponentName[] components = new ComponentName[] {new ComponentName("com.android.launcher", "com.android.launcher.Launcher"), component};

pm.clearPackagePreferredActivities("com.android.launcher");
pm.addPreferredActivity(filter, IntentFilter.MATCH_CATEGORY_EMPTY, components, component);


android SDK 2.2 ~

---------------------------------------------------------------------------------
根据android SDK 说明,此接口已经废弃不用。
http://developer.android.com/reference/android/content/pm/PackageManager.html#addPackageToPreferred%28java.lang.String%29 

  • 默认设置的保存位置

保存在安卓系统以下文件中:

      /data/system/packages.xml

实例:

 992 <preferred-activities>
 993 <item name="com.android.music/.TrackBrowserActivity" match="600000" set="2">
 994 <set name="com.lenovo.leos.lephone.music/.MusicMainActivity" />
 995 <set name="com.android.music/.TrackBrowserActivity" />
 996 <filter>
 997 <action name="android.intent.action.EDIT" />
 998 <cat name="android.intent.category.DEFAULT" />
 999 <type name="vnd.android.cursor.dir/track" />
1000 </filter>
1001 </item>
1002 <item name="com.android.music/.ArtistAlbumBrowserActivity" match="600000" set="2">
1003 <set name="com.lenovo.leos.lephone.music/.MusicMainActivity" />
1004 <set name="com.android.music/.ArtistAlbumBrowserActivity" />
1005 <filter>
1006 <action name="android.intent.action.PICK" />
1007 <cat name="android.intent.category.DEFAULT" />
1008 <type name="vnd.android.cursor.dir/artistalbum" />
1009 </filter>
1010 </item>
1011 <item name="com.sangfei.launcher/.Launcher" match="100000" set="2">
1012 <set name="com.android.launcher/com.android.launcher2.Launcher" />
1013 <set name="com.sangfei.launcher/.Launcher" />
1014 <filter>
1015 <action name="android.intent.action.MAIN" />
1016 <cat name="android.intent.category.HOME" />
1017 <cat name="android.intent.category.DEFAULT" />
1018 </filter>
1019 </item>

1020 <item name="com.android.music/.AlbumBrowserActivity" match="600000" set="2">
1021 <set name="com.lenovo.leos.lephone.music/.MusicMainActivity" />
1022 <set name="com.android.music/.AlbumBrowserActivity" />
1023 <filter>
1024 <action name="android.intent.action.PICK" />
1025 <cat name="android.intent.category.DEFAULT" />
1026 <type name="vnd.android.cursor.dir/album" />
1027 </filter>
1028 </item>
1029 <item name="com.android.music/.TrackBrowserActivity" match="600000" set="2">
1030 <set name="com.lenovo.leos.lephone.music/.MusicMainActivity" />
1031 <set name="com.android.music/.TrackBrowserActivity" />
1032 <filter>
1033 <action name="android.intent.action.PICK" />
1034 <cat name="android.intent.category.DEFAULT" />
1035 <type name="vnd.android.cursor.dir/track" />
1036 </filter>
1037 </item>
1038 </preferred-activities>


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值