バックグラウンド
多くの場合、ユーザーが Android アプリで何かを共有できるようにしたいと考えています。
これは、次の関数を使用して実行できます。
public static Intent prepareSharingIntent() { final List<Intent> targetedShareIntents = new ArrayList<Intent>(); final Intent shareIntent = new Intent(Intent.ACTION_SEND); final Intent smsIntent = new Intent(Intent.ACTION_VIEW); targetedShareIntents.add(smsIntent); shareIntent.setType("text/plain"); smsIntent.setType("vnd.android-dir/mms-sms"); final String invitationMessage = "check out my App!"; smsIntent.putExtra(Intent.EXTRA_TEXT, invitationMessage); shareIntent.putExtra(Intent.EXTRA_TEXT, invitationMessage); shareIntent.putExtra("sms_body", invitationMessage); smsIntent.putExtra("sms_body", invitationMessage); shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Check out this app!"); smsIntent.putExtra(Intent.EXTRA_SUBJECT, "Check out this app!"); shareIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[] {})); final Intent chooserIntent = Intent.createChooser(shareIntent, "Share using..."); chooserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); return chooserIntent; }
問題
一部のユーザー (私のような) は、共有の意図を処理できる多くのアプリを持っています。
これは、何かを共有するためにクリックしてからダイアログが表示されるまでに長い遅延 (場合によっては 1 秒またはそれ以上) が発生することを意味するため、これは非常に望ましくない動作です。
私は忍耐を持っていますが、これが原因でアプリが「遅い」と考えるユーザーもいるかもしれません。
実際、この問題は多くのアプリ (Play ストア アプリを含む) で発生することに気付きました。ユーザーは、デバイスがダイアログを表示するために現在何かを行っているというフィードバックを受け取りません。
質問
より流動的に見えるようにするために、または実際のダイアログが表示されるまで少なくともいくつかの進行状況ダイアログを表示するために何ができますか?