如何检测,可以处理请求的意图动作Android应用?(How to detect android a

2019-09-24 06:43发布

我想分享短信槽的Twitter,Facebook或以其他方式对设备可用。 我写了下面的代码:

    Intent share = new Intent(Intent.ACTION_SEND);
    share.putExtra(Intent.EXTRA_TEXT, "Here's some text for Twitter.");
    startActivity(Intent.createChooser(share, "Share this via"));       

但是,如果没有应用程序,可以hadle这个动作,出现在屏幕上的“没有这样的应用程序”对话框。 我要检测这些应用程序和禁用该功能,如果没有找到处理程序。 我该怎么办呢?

Answer 1:

    Intent intent = new Intent...
    PackageManager manager = mContext.getPackageManager();
    List<ResolveInfo> list = manager.queryIntentActivities(intent, 0);

    if (list != null && list.size() > 0) {
        //You have at least one activity to handle the intent
    } else {
        //No activity to handle the intent.
    }


Answer 2:

if (intent.resolveActivity(pm) == null) {
    // activity not found
}


文章来源: How to detect android apps that can handle requested Intent action?