开发者

Android Intent defaults - detect and clear

Is there a way to detect that a phone has a default application chosen for an intent such as android.intent.action.SEND ?

Is there a way to clear the default application via code?

I'd like to give the user an开发者_如何学编程 option to remove the default or at least show a screen telling them how to do it manually, if I can detect it.


Take a look at PackageManager. With it, you can determine how an Intent will be handled with resolveActivity(intent). It looks like the method for clearing the preference (clearPackagePreferredActivities) only works on your own package.


Use 2-step detection of defaults:

PackageManager.queryIntentActivities to get all activities for Intent, PackageManager.resolveActivity to get resolved.

If resolved one is in the list returned by queryIntentActivities, then there will be no "Complete action using" dialog, thus "default" activity was set.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜