android 2.3 shortCut快捷方式创建与删除的问题

本文介绍了在Android 2.3版本中遇到的快捷方式(shortCut)创建和删除的问题,包括应用升级后快捷方式名称不更新、升级时创建新快捷方式而非覆盖、以及不同品牌手机查询快捷方式存在的方法。解决问题的关键在于正确判断快捷方式是否存在,并使用对应的URI进行操作。文中提供了解决这些问题的思路和部分代码示例,同时提醒注意权限配置和不同设备的兼容性问题。
摘要由CSDN通过智能技术生成

   问题:

           1.shortcut在2.3上创建后,假如应用升级并修改了app名称,shortcut不会自动更新,仍显示原名字。

           2.如果此时强制更新,则会创建新的shortcut,而不是覆盖原shortcut。

           3.判断shortcut是否存在时,某些机型LauncherProvider的查询路径不是com.android.launcher.setting.

  先说前两个问题,前两个问题的解决办法只是写逻辑上的判断了,先判断应用的shortcut存不存在,然后删除添加任你选。所以只要搞定hasShortcut()这个方法就ok。

  然后再说第三个问题,判断shortcut是否存在其实就是去LauncherProvider的数据库里面查询这条数据在不在。

   现在大多数机型用的都是android的默认launcher,包名为com.android.launcher,这个数据库一般在data/data/com.android.launcher/database据库里 的launcher.db的favorites表。查询的URI=”"content://com.android.launcher.settings/favorites?notify=true“。 但是android 2.2以后的URI则变为了URI=”"content://com.android.launcher2.settings/favorites?notify=true“.

  另外像三星,htc,小米,华为等手机却将launcher改成了他们自己的launcher,颇感无语,其对应包名如下:

     miui: com.miui.home

   huawei: com.huawei.android.launcher

   htc: com.htc.launcher

   samsung: com.sec.android.app.launcher

所以这里查询的URI="content://" + packageName + ".settings/favorites?notify=true"。

恩,这里另附数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值