任意のアクティビティでバックグラウンドプロセスからのアラートダイアログを表示する

アドナン

バックグラウンドプロセスの結果を取得するにはどうすればよいActivityですか?

私はOTAアップデートを使用しています。アプリはハンドラーを使用してバックグラウンドでそれを処理します。更新が完了すると、ユーザーにアラートダイアログを表示する必要があります。私はSettingsActivityOTAで始めところにそれを示すことができますが、ユーザーは他のどこにいてもかまいませんActivity

private void checkIsUpdated() {
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            mDevice.getDevice().read(GattUUID.LS_DEVICE_INFORMATION, GattUUID.LC_FIRMWARE, new
                    BleDevice.ReadWriteListener() {
                        @Override
                        public void onEvent(ReadWriteEvent e) {
                            if (e.wasSuccess()) {

                                if (firmwareVersion.equals(e.data_string())) {
                                    showAlertDialog("OTA update failed", "Device is not updated");

                                } else {
                                    showAlertDialog("OTA update is successful.\nDevice is updated to new " +
                                            "firmware!", "Device is updated");

                                }

                                Log.i("OTA", "Read firmware is new success");
                            } else {
                                Log.e("OTA", "Read firmware is new success");
                            }
                        }
                    });
        }
    }, 30000);
}

AlertDialog コード

 private void showAlertDialog(String message, String title) {

    AlertDialog.Builder builder = new AlertDialog.Builder(mContext, R.style.SwipeDialogLight);
    builder.setTitle(title)
            .setMessage(message)
            .setCancelable(false)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }

            });

    AlertDialog alert = builder.create();
    if (!alert.isShowing()) {
        alert.show();
    }
}
レアズはつぶやいた

@ W4R10CKが述べたように、私もそう思いました。BroadcastReceiverかもしれないではない非常に良いアイデア。しかし後で、私はそれについて考えました、そしてあなたがcheckIsUpdated内部で関数を呼び出してそれからService送信するならばBroadcast、それは実行可能な解決策かもしれません。

したがって、基本的にはBaseActivityクラスが必要であり、その中にはが必要ですBroadcastReceiver登録してonResume、再度登録を解除する必要がありonPauseます。

そしてabstract、あなたActivityあなたのそれぞれでオーバーライドされるメソッドを持っている必要があります

だからあなたBaseActivityはこのように見えるかもしれません。

public abstract class BaseActivity extends AppCompatActivity {

    private final Context context;

    public BaseActivity() {
        this.context = setContext();
    }

    protected abstract Context setContext();

    @Override
    public void onResume() {
        super.onResume();
        registerBroadcastReceiver();
    }

    @Override
    public void onPause() {
        super.onPause();
        unRegisterBroadcastReceiver();
    }

    // Declare your BroadcastReceiver here
    private class MyBroadcastReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            showAlertDialog(context);
        }
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

アプリケーションがバックグラウンドプロセスからiOSのアクティブプロセスに移行するときに、編集可能なアラートビューを表示します

分類Dev

バックグラウンドアクティビティから開始されたダイアログを表示する方法

分類Dev

バックグラウンドでアクティビティをロードすると、実際のデバイスがクラッシュする

分類Dev

ダイアログ:バックグラウンドでアクティビティを切り替えます

分類Dev

ClassCastException-ダイアログフラグメントのアダプタクラスからアクティビティのビュー参照を取得

分類Dev

プログラムでAzure DevOpsから最新のビルドアーティファクトをダウンロードする方法

分類Dev

Redmiデバイスのバックグラウンドサービスからアクティビティを起動しているときに「アクティビティ画面」に最近のアプリが表示されない理由

分類Dev

あるアクティビティのボタンクリックイベントから、バックグラウンドにある別のアクティビティの編集テキストにデータを送信します

分類Dev

バックグラウンドスレッドからコレクション内のアイテムプロパティを更新するときの例外

分類Dev

ダイアログアクティビティからアクションバーの背景を変更する

分類Dev

アプリケーションAndroidのアクティビティの上にアラートダイアログを表示する方法

分類Dev

ダイアログからアクティビティに画像をドロップする際の問題

分類Dev

アクティビティの SharedElement からの Android 表示ダイアログ フラグメント

分類Dev

バックグラウンドサービスのフルスクリーンインテント通知Androidからアクティビティを開く方法

分類Dev

Android:ランダムなフラグメント/アクティビティからユーザーログインデータにアクセスする

分類Dev

許可の要求ダイアログでアクティビティをブラックアウトし、任意のキーを押すとアクティビティが閉じます

分類Dev

Androidアクティビティでいずれかのボタンを押すと、両方のアラートダイアログが表示されます

分類Dev

ルーティングサービスからWCFクライアントにメッセージ障害をスローバックできますか?

分類Dev

ルーティングサービスからWCFクライアントにメッセージ障害をスローバックできますか?

分類Dev

別のアクティビティから前のフラグメントをロードする方法

分類Dev

フラグメントにあるアラートダイアログからアクティビティのボタンクリックを検出するにはどうすればよいですか?

分類Dev

ダイアログ(スタイルTheme.Dialog)を持つアクティビティを開いている間、アプリケーションはバックグラウンドで閉じます

分類Dev

フラグメントを作成したダイアログではなく、最初のアクティビティに表示されるダイアログ

分類Dev

ダイアログフラグメントからアクティビティを開始する

分類Dev

別のパイプラインビルドからアーティファクトコンテンツをダウンロードする

分類Dev

バックグラウンドミュージックの音量をアクティビティからサービスに変更する

分類Dev

マテリアルデザインを使用して、プログラムがランチャーアクティビティから別のアクティビティに移行するとアプリがクラッシュする

分類Dev

セキュリティグループを使用してAWSEC2インスタンスからのすべてのアウトバウンドトラフィックを拒否するにはどうすればよいですか?

分類Dev

Androidでダイアログボックスを表示する前のアクティビティに戻る

Related 関連記事

  1. 1

    アプリケーションがバックグラウンドプロセスからiOSのアクティブプロセスに移行するときに、編集可能なアラートビューを表示します

  2. 2

    バックグラウンドアクティビティから開始されたダイアログを表示する方法

  3. 3

    バックグラウンドでアクティビティをロードすると、実際のデバイスがクラッシュする

  4. 4

    ダイアログ:バックグラウンドでアクティビティを切り替えます

  5. 5

    ClassCastException-ダイアログフラグメントのアダプタクラスからアクティビティのビュー参照を取得

  6. 6

    プログラムでAzure DevOpsから最新のビルドアーティファクトをダウンロードする方法

  7. 7

    Redmiデバイスのバックグラウンドサービスからアクティビティを起動しているときに「アクティビティ画面」に最近のアプリが表示されない理由

  8. 8

    あるアクティビティのボタンクリックイベントから、バックグラウンドにある別のアクティビティの編集テキストにデータを送信します

  9. 9

    バックグラウンドスレッドからコレクション内のアイテムプロパティを更新するときの例外

  10. 10

    ダイアログアクティビティからアクションバーの背景を変更する

  11. 11

    アプリケーションAndroidのアクティビティの上にアラートダイアログを表示する方法

  12. 12

    ダイアログからアクティビティに画像をドロップする際の問題

  13. 13

    アクティビティの SharedElement からの Android 表示ダイアログ フラグメント

  14. 14

    バックグラウンドサービスのフルスクリーンインテント通知Androidからアクティビティを開く方法

  15. 15

    Android:ランダムなフラグメント/アクティビティからユーザーログインデータにアクセスする

  16. 16

    許可の要求ダイアログでアクティビティをブラックアウトし、任意のキーを押すとアクティビティが閉じます

  17. 17

    Androidアクティビティでいずれかのボタンを押すと、両方のアラートダイアログが表示されます

  18. 18

    ルーティングサービスからWCFクライアントにメッセージ障害をスローバックできますか?

  19. 19

    ルーティングサービスからWCFクライアントにメッセージ障害をスローバックできますか?

  20. 20

    別のアクティビティから前のフラグメントをロードする方法

  21. 21

    フラグメントにあるアラートダイアログからアクティビティのボタンクリックを検出するにはどうすればよいですか?

  22. 22

    ダイアログ(スタイルTheme.Dialog)を持つアクティビティを開いている間、アプリケーションはバックグラウンドで閉じます

  23. 23

    フラグメントを作成したダイアログではなく、最初のアクティビティに表示されるダイアログ

  24. 24

    ダイアログフラグメントからアクティビティを開始する

  25. 25

    別のパイプラインビルドからアーティファクトコンテンツをダウンロードする

  26. 26

    バックグラウンドミュージックの音量をアクティビティからサービスに変更する

  27. 27

    マテリアルデザインを使用して、プログラムがランチャーアクティビティから別のアクティビティに移行するとアプリがクラッシュする

  28. 28

    セキュリティグループを使用してAWSEC2インスタンスからのすべてのアウトバウンドトラフィックを拒否するにはどうすればよいですか?

  29. 29

    Androidでダイアログボックスを表示する前のアクティビティに戻る

ホットタグ

アーカイブ