1

自分のアプリから他のアプリに複数の画像を共有したい。Android の開発者ページで、次のことがわかりました。

Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
        shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, SavedImages);
        shareIntent.setType("image/*");
        startActivity(Intent.createChooser(shareIntent, "Share images to.."));

このコードをインテントサービスから使用するにはどうすればよいですか? インテント サービスのサンプル コードを使用すると、logcat エラーでアプリがクラッシュします。

Activity コンテキストの外部から startActivity を呼び出すには、フラグ FLAG_ACTIVITY_NEW_TASK が必要です

だから私は追加しました

shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

それでも同じエラーが発生し、アプリがクラッシュします。

インテントサービスから共有インテントを使用するにはどうすればよいですか?

4

1 に答える 1

4

このコード行

startActivity(Intent.createChooser(shareIntent, "Share images to.."));

つまり、ユーザーが shareIntent を処理するアクティビティを選択するためのダイアログ アクティビティを開始するために使用されるインテント オブジェクトを作成します。したがって、この場合、セレクター ダイアログ アクティビティを表示するインテントにはフラグ FLAG_ACTIVITY_NEW_TASK
が必要です。

Intent chooserIntent = Intent.createChooser(shareIntent, "Share images to..");
chooserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(chooserIntent);
于 2013-10-06T19:54:09.493 に答える