有没有办法检测手机是否为android.intent.action.SEND
等意图选择了默认应用?
有没有办法通过代码清除默认应用程序?
我想给用户一个删除默认设置的选项,或者至少会显示一个屏幕告诉他们如何手动执行此操作,如果我能检测到它。
答案 0 :(得分:5)
看看PackageManager。有了它,您可以确定如何使用resolveActivity(intent)处理Intent。看起来清除首选项的方法(clearPackagePreferredActivities)仅适用于您自己的包。
答案 1 :(得分:3)
使用两步检测默认值:
PackageManager.queryIntentActivities
获取Intent的所有活动,PackageManager.resolveActivity
得到解决。
如果已解决的问题是queryIntentActivities
返回的列表,那么将不会使用"完成操作。对话框,因此"默认"活动已经确定。