4

送信インテント(ACTION_SEND)を使用して画像を共有しています。

共有するアプリケーションが選択されているかどうかを知りたいです。どうすればそれを行うことができ、画像が正常に送信されたかどうかを知るにはどうすればよいですか?

画像を共有するために使用したコードは次のとおりです。

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(new File(imageSharePath)));
startActivity(Intent.createChooser(share, "Share Image"));
4

2 に答える 2

11

アクティビティを選択するには、独自のダイアログを実装する必要があります。

このようなダイアログを作成するには、 を使用する必要がありますPackageManager.queryIntentActivities()。このメソッドは を返しますList<ResolveInfo>

ResolveInfoアクティビティに関するいくつかの情報 (例: resolveInfo.activityInfo.packageName) が含まれており、PackageManager の助けを借りて、他の情報を取得できます (ダイアログでアクティビティを表示するのに役立ちます) - アプリケーション アイコン ドローアブル、アプリケーション ラベルなど。

結果をダイアログ (またはダイアログとしてスタイル設定されたアクティビティ) のリストに表示します。アイテムが新規作成をクリックするIntent.ACTION_SENDと、必要なコンテンツが追加され、選択したアクティビティのパッケージが追加されますintent.setPackage(pkgName)

于 2013-09-19T12:39:11.207 に答える