【方法1】

http://stackoverflow.com/questions/12594192/remove-activity-as-default-launcher/12594332#12594332

桌面应用的启动在INTENT中需要包含ACTION_MAINCATEGORY_HOME.

通过PackageManager的resolveActivity方法来获取一个ResolveInfo对象来得知哪个是默认启动的Activity

private void getDefaultHome() {        final Intent intent = new Intent(Intent.ACTION_MAIN);        intent.addCategory(Intent.CATEGORY_HOME);        final ResolveInfo res = getPackageManager().resolveActivity(intent, 0);        if (res.activityInfo == null) {            Log.d(TAG, "resolveActivity--->activityInfo null");            // should not happen. A home is always installed, isn't it?        } else if (res.activityInfo.packageName.equals("android")) {            // No default selected            Log.d(TAG, "resolveActivity--->无默认设置");        } else {            // res.activityInfo.packageName and res.activityInfo.name gives            // you the default app            Log.d(TAG, "默认桌面为:" + res.activityInfo.packageName + "."                    + res.activityInfo.name);        }    }

【方法2】

http://stackoverflow.com/questions/8299427/how-to-check-if-my-application-is-the-default-launcher/8361115#8361115

利用PackageManager里的getPreferredActivities()方法

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;}

更多相关文章

  1. Android(安卓)camera 设置聚焦区域
  2. android Launcher:AllApps的更新分析
  3. android Fragment 懒加载布局
  4. webview内H5与原生安卓和IOS交互(互调方法/传值)
  5. android context调用startActivity时报错:Calling startActivity(
  6. Android加载动画库
  7. Android(安卓)多线程
  8. Android(安卓)JNI和NDK学习(2)--编程入门
  9. Android(安卓)获取屏幕尺寸

随机推荐

  1. TextView 文本过长时自动打点
  2. Android(安卓)Butter Knife使用说明
  3. Android获取View的内容图片
  4. android 视频播放 JiaoZiVideoPlayer使用
  5. android 使用eclipse 调试 so
  6. android 创建service root权限执行脚本
  7. Android(安卓)蓝牙开发(二)Ble 开发(android
  8. android通知栏:Service每分钟请求一次服务
  9. android Listview 获取任意指定item数据
  10. Android启动找不到activity问题