如何检查,如果我的应用程序是默认启动 [英] How to check if my application is the default launcher
问题描述
我开发buissness-应用程序,基本上是一个主页画面,并应该被用作缺省的主屏幕(该亭-application)。
有什么办法检查,如果我的启动是默认启动的? 谢谢!
诗。 类似的例子,但检查GPS的设置
LocationManager ALM =(LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
如果(alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)){
东西和放大器;操作;
}
您可以得到preferred活动从 PackageManager
列表。使用<一个href="http://developer.android.com/reference/android/content/pm/PackageManager.html#get$p$pferredActivities%28java.util.List%3Candroid.content.IntentFilter%3E,%20java.util.List%3Candroid.content.ComponentName%3E,%20java.lang.String%29"><$c$c>get$p$pferredActivities()$c$c>方法。
布尔isMyLauncherDefault(){
最后IntentFilter的过滤器=新的IntentFilter(Intent.ACTION_MAIN);
filter.addCategory(Intent.CATEGORY_HOME);
名单&LT; IntentFilter的&GT;过滤器=新的ArrayList&LT; IntentFilter的&GT;();
filters.add(过滤器);
最后弦乐myPackageName = getPackageName();
名单&LT;组件名&GT;活动=新的ArrayList&LT;组件名&GT;();
最后PackageManager packageManager =(PackageManager)getPackageManager();
//你可以用你的名包在这里作为第三个参数
packageManager.get preferredActivities(过滤器,活动,NULL);
对于(组件名活动:活动){
如果(myPackageName.equals(activity.getPackageName())){
返回true;
}
}
返回false;
}
I am developing a buissness-application that is essentially a Home-screen, and is supposed to be used as a Default Homescreen (being a "kiosk"-application).
Is there any way of checking if my Launcher is the default Launcher? Thanks!
Ps. Similar example, but for checking GPS-settings
LocationManager alm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if (alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {
Stuffs&Actions;
}
You can get list of preferred activities from PackageManager
. Use getPreferredActivities()
method.
boolean isMyLauncherDefault() {
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();
// You can use name of your package here as third argument
packageManager.getPreferredActivities(filters, activities, null);
for (ComponentName activity : activities) {
if (myPackageName.equals(activity.getPackageName())) {
return true;
}
}
return false;
}
这篇关于如何检查,如果我的应用程序是默认启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!