2016-12-16 9 views
0

私はアプリケーションで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していましたが、役に立たなかった。助けてください。

Intent Chooser

+0

Register Intent-Filter Intent.ACTION_SENDとして毎回開かれているアプリケーションをクリアすることはできません。Intent.ACTION_SEND –

+0

いいえ。ユーザーがそのアクションを開くことをサポートするすべてのアプリケーションから選択できるようにしたい(私の場合は 'テキスト/プレーン ')。 – Bhoot

+0

なぜ保留中のインテントを使用していますか?あなたは意思でそれを行うこともできます –

答えて

0

それはサムスン注3ネオ(SM-N750)上で動作していないことが判明。テストしたNexus端末でうまくいきました。半日を無駄にしてこれを解決しようとしました。それが人生だ。

+0

答えは別の方法で受け入れるようにマークしてください。助けて。 –

関連する問題