现在我正在开发一个家庭启动器应用程序。我想清除默认家庭启动器的默认设置(例如:三星主页)。即.我想展示Settings-> Applications->Manage Application->Samsung Home->clear defaults
以编程方式。
如何通过代码来展示这一点?
提前致谢
NOTE: 由于这个问题仅限于访问“管理应用程序设置”选项,因此我的答案仅涵盖这一点。您必须找到一种获取实际包名称的方法。
另外,如果想法是通过代码自动清除默认值,那么据我所知,这是无法做到的。如果我在这方面错了,有人可以纠正我。
话虽这么说,这段代码将打开特定应用程序的管理应用程序您的应用程序的屏幕(必须提供包名称)。
Intent showSettings = new Intent();
showSettings.setAction(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uriAppSettings = Uri.fromParts("package", "THE_APP_PACKAGE_NAME", null);
showSettings.setData(uriAppSettings);
startActivity(showSettings);
例如,如果 Google 地图应用程序的包名称是com.google.android.apps.maps
, 替换THE_APP_PACKAGE_NAME
用它和代码将打开管理应用程序Google 地图应用程序的屏幕。
UPDATE:
PackageManager 有一个方法,清除套餐首选活动 http://developer.android.com/reference/android/content/pm/PackageManager.html#clearPackagePreferredActivities用于通过代码清除默认值。然而,那doesn't似乎可以在较新的 Android 版本中使用:https://stackoverflow.com/a/10246711/450534 https://stackoverflow.com/a/10246711/450534
其他值得阅读的帖子:
- https://stackoverflow.com/a/7750187/450534 https://stackoverflow.com/a/7750187/450534
- https://groups.google.com/forum/?fromgroups=#!topic/android-developers/Rzv8VU-EUAw https://groups.google.com/forum/?fromgroups=#!topic/android-developers/Rzv8VU-EUAw
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)