Android中有时打开一个文件,系统会弹出一个应用程序选择列表供你选择.如果你把某个应用程序设为默认值,则不会弹出选择框,而会直接调用该程序.
设置方法如下:
PackageManager pm = getPackageManager();
IntentFilterfilter = new IntentFilter();
filter.addCategory("android.intent.category.DEFAULT");
ComponentName component = newComponentName("YourClearAppPakageName","YourClearAppClassName");
ComponentName[] components = new ComponentName[]{new ComponentName("YourPreferAppPakageName","YourPreferAppClassName"), component};
pm.clearPackagePreferredActivities("YourClearAppPakageName");
pm.addPreferredActivity(filter,IntentFilter.MATCH_CATEGORY_EMPTY, components, component);
例如:修改系统默认Launhcer,但不是唯一的Launcher
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中设置特定应用为默认打开文件的程序,包括修改系统默认Launcher、设置默认浏览器等方法。
430

被折叠的 条评论
为什么被折叠?



