我正在创建一个可以通过谷歌下载的启动器(自助服务终端)应用程序.首次安装此应用程序时,用户可以选择哪个启动器(我的或库存)将是默认设置.如果用户没有将我的应用程序设置为默认启动器,我试图手动启动它.当对话框出现时,我希望用户强制选择ALWAYS而不是JUST ONCE,否则对话框将继续定期显示友好消息.这是我到目前为止所尝试的.
我创建了一个方法来检查我的应用程序是否是默认的
/**
* method checks to see if app is currently set as default launcher
* @return boolean true means currently set as default, otherwise false
*/
private boolean isMyAppLauncherDefault() {
final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN);
filter.addCategory(Intent.CATEGORY_HOME);
List<IntentFilter> filters = new ArrayList<IntentFilter>();
filters.add(filter);
final String myPackageName = getPackageName();
List<ComponentName> activities = new ArrayList<ComponentName>();
final PackageManager packageManager = (PackageManager) getPackageManager();
packageManager.getPreferredActivities(filters, activities, null);
for (ComponentName activity : activities) {
if (myPackageName.equals(activity.getPackageName())) {
return true;
}
}
return false; …Run Code Online (Sandbox Code Playgroud)