6

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"));       

ただし、このアクションを実行できるアプリがない場合は、「そのようなアプリはありません」ダイアログが画面に表示されます。これらのアプリを検出し、ハンドラーが見つからない場合はこの機能を無効にします。どうすればいいですか?

4

2 に答える 2

23
    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.
    }
于 2012-10-18T18:29:44.740 に答える
-1
if (intent.resolveActivity(pm) == null) {
    // activity not found
}
于 2015-02-16T02:52:51.017 に答える