android查看桌面快捷方式是否存在
来源:互联网 发布:solaris与linux 编辑:程序博客网 时间:2024/05/17 03:00
在工作中遇到重复创建桌面快捷方式的图标BUG,本以为很简单。。确消耗了一下午的时间。其实大部分手机的桌面Authority都不是原生的了。所以需要找到本机的Authority。
ps:如果手机中装有360桌面或者GO桌面的话cursor能获取到但是cursor.getCount()=0;应该是外部桌面干涉的。没有去深入了解。
/* *private static final String READ_SETTINGS = "com.android.launcher.permission.READ_SETTINGS" *通过传递launcher所需要的permisson来获取本机的authority,其中传递READ_SETTINGS到permisson中。 *com.android.launcher.permission.READ_SETTINGS 是android中的自带的,一般改系统不会涉及到此吧。。 **/static String getAuthorityFromPermission(Context context, String permission) {if (permission == null)return null;List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS);if (packs != null) {for (PackageInfo pack : packs) {ProviderInfo[] providers = pack.providers;if (providers != null) {for (ProviderInfo provider : providers) {if (permission.equals(provider.readPermission))return provider.authority;if (permission.equals(provider.writePermission))return provider.authority;}}}}return null;}public static boolean hasShortCut(Context context) {String url = "";url = "content://" + getAuthorityFromPermission(context, READ_SETTINGS)+ "/favorites?notify=true";// 获取当前应用名称Log.i("url:", url);String title = null;try {final PackageManager pm = context.getPackageManager();title = pm.getApplicationLabel(pm.getApplicationInfo(context.getPackageName(),PackageManager.GET_META_DATA)).toString();} catch (Exception e) {}ContentResolver resolver = context.getContentResolver();Cursor cursor = resolver.query(Uri.parse(url), null, "title=?",new String[] { title }, null);if (cursor != null && cursor.getCount()>0) {cursor.close();return true;}return false;}
- android查看桌面快捷方式是否存在
- Android判断桌面快捷方式是否存在!
- android 判断桌面快捷方式是否存在
- Android判断桌面快捷方式是否存在
- 查询Android桌面快捷方式是否存在
- android桌面添加快捷方式之判断是否存在无效
- android桌面添加快捷方式之判断是否存在无效
- 如何判断桌面快捷方式是否存在
- Android创建桌面快捷方式和判断当前快捷方式是否已经存在
- Android判断快捷方式是否存在
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- Android应用添加(创建)和删除及判断是否存在桌面快捷方式
- android 检查是否创建桌面快捷方式
- android 检查是否创建桌面快捷方式
- android 创建、删除、判断是否存在快捷方式
- JavaScript日常笔记
- android系统中的log定向
- selenium---鼠标事件
- Iphone手机企业邮箱设置 九步轻松搞定
- VB FileSystemObject对象 详解
- android查看桌面快捷方式是否存在
- Linux设备驱动程序学习之数据类型与内存分配 .
- 网站优化
- Ext.grid.EditorGridPanel
- 清除VS2010最近的项目
- 图像的RGB通道显示
- 动态规划-最长上升子序列LIS
- 行为树相关文章
- 关于Java 23种设计模式的有趣见解