android如何获取默认的桌面程序
【方法1】
http://stackoverflow.com/questions/12594192/remove-activity-as-default-launcher/12594332#12594332
桌面应用的启动在INTENT中需要包含ACTION_MAIN
和CATEGORY_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 selectedLog.d(TAG, "resolveActivity--->无默认设置");} else {// res.activityInfo.packageName and res.activityInfo.name gives// you the default appLog.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 argumentpackageManager.getPreferredActivities(filters, activities, null);for (ComponentName activity : activities) {if (myPackageName.equals(activity.getPackageName())) {return true;}}return false; }
转载于:https://www.cnblogs.com/lqstayreal/p/3192712.html
android如何获取默认的桌面程序相关推荐
- Android9默认动态壁纸,Android之获取默认桌面、默认输入法、默认动态壁纸的接口...
public Set getDefaultLaunchers() { Set defaultLaunchers = new HashSet(); PackageManager packageManag ...
- c++获取常用系统文件夹-桌面-程序安装目录-默认数据-我的文档路径-临时文件夹-常用目录-系统目录
文章目录 1.常用宏介绍 2.将宏转为文件夹 3.获取临时文件夹 4.作者答疑 1.常用宏介绍 宏 介绍 CSIDL_ADMINTOOLS.CSIDL_COMMON_ADMINTOOLS 管理工具 C ...
- android 主屏幕程序,android修改默认桌面程序
android在新安装桌面应用时,点击home键会弹出选择默认桌面程序的选择框,可是在用户点击总是时,下次在点击后就是打开默认启动器,可是我怎么修改这个默认的设置呢. 因为我们没有系统权限,难道只能跳 ...
- 逍遥模拟器自定义默认桌面程序
作为一个处女座,最不能容忍的是邋遢的产品体验,对倾倒视觉垃圾的行为更是嗤之以鼻. 广告太多了,给人的感觉就像是:把一片香甜的点心放在满是恶臭蚊蝇乱飞的垃圾堆里,等待受众享用. 废话少说上图,最终效果: ...
- android设备修改默认桌面为自定义应用
android设备修改默认桌面为自定义应用 应用场景 在一些专用安卓设备(例如丰巢柜),可能需要在点击默认的home键时启动自定义应用,屏蔽用户开启其他应用的入口,可通过下面介绍的方法将自己的应用设置 ...
- Android之——获取手机安装的应用程序
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47114331 前几篇有关Android的博文中,向大家介绍了几个项目中常用的实用功 ...
- Android之获取应用程序(包)的大小-----PackageManager的使用(二)
http://blog.csdn.net/qinjuning/article/details/6892054 通过第一部分 << Android中获取应用程序(包)的信息-----Pack ...
- Android之中获取应用程序(包)的信息-----PackageManager的使用(一)
转载:http://blog.csdn.net/qinjuning/article/details/6867806 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename ...
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等.具体分为两个 部分,计划如下: 第一部分: 获取应用程序的packagename ...
最新文章
- 开发日记-20190702 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 8
- 面向对象编程(一)——面向对象和面向过程
- 论如何监听一个对象所有属性的变化
- 视觉SLAM总结——LSD SLAM中关键知识点总结
- 【leetcode】1001. Grid Illumination
- java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法
- 从零开始撸一个Kotlin Demo
- chr(10) chr(13) chr(32)
- 连接ftp服务器响应时间长,事务响应时间
- 解决git rebase操作后推送远端分支不成功的问题
- 15寸计算机显示器,苹果确认15寸RMBP支持全球首款5K显示器
- 插值问题(拉格朗日插值、牛顿插值)
- 计算机无法备份,电脑无法备份怎么办
- 神经网络基础模型--Logistic Regression的理论和实践
- jsbridge实现及原理_Hybrid APP基础篇(四)-JSBridge的原理
- 医咖会免费SPSS教程学习笔记—组内相关系数ICC
- 新浪邮箱界面登录按钮效果制作
- 对计算机排版的分析,针对计算机排版技术问题的解决措施分析
- HTML 代码混淆与压缩
- 2012年腾讯实习生笔试附加题
热门文章
- top.location.href和localtion.href代码剖析
- Python爬虫神器pyppeteer
- 【C语言】时间操作,把1970年开始秒数计算的时间,转换为字符串格式输出
- Vue学习小案例--分页组件封装
- 使用github pages创建博客
- 10种轻量级人脸检测算法大PK
- 【Spring 5】响应式Web框架实战(下)
- Xmanager – Passive oracle 安装调用图形界面
- (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化
- 《Android安全技术揭秘与防范》—第8章8.5节Hook检测/修复