私はアプリケーションでURLを開くためにChromeカスタムタブを使用しています。私はShare
の機能をそのアクションボタンに設定しようとしています。そのアクションボタンには、引数の1つとしてPendingIntentが必要です。次のように私はPendingIntentを返しています:PendingIntentはインテントチューザを作成しません
private static PendingIntent getShareIntent(@NotNull Context context, @NotNull Uri uri)
{
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, uri.toString());
return PendingIntent
.getActivity(context, (int) System.currentTimeMillis(),
shareIntent, PendingIntent.FLAG_CANCEL_CURRENT);
}
問題は共有ボタンが最初にクリックされたとき、それは共有に使用するアプリケーションを選択する(下図)チューを作成しますが、行っていないということですそれは初めての後です。これは1回だけ表示されます。ユーザーが選択した後は、それがデフォルトのアプリケーションになり、初めて選択されたアプリケーションで共有ボタンのすべてのクリックが開きます。私はIntent.createChooser(shareIntent, "Share via")
を使用していましたが、pendingIntentをreturingしていましたが、役に立たなかった。助けてください。
Register Intent-Filter Intent.ACTION_SENDとして毎回開かれているアプリケーションをクリアすることはできません。Intent.ACTION_SEND –
いいえ。ユーザーがそのアクションを開くことをサポートするすべてのアプリケーションから選択できるようにしたい(私の場合は 'テキスト/プレーン ')。 – Bhoot
なぜ保留中のインテントを使用していますか?あなたは意思でそれを行うこともできます –