1
私のアプリケーションには、多くのクラス、ワーカースレッド、バックグラウンドサービス操作があります。他のスレッドから通知が届く可能性があり、アプリが実行されていないときに通知を受け取ることができます。私は、これらの状況をすべて処理できる単一の "SendToast(Context ctx、String message)"メソッドを記述したいユーティリティクラスを用意しています。出来ますか? This SO postは近づくが、それは私のサービスメッセージのために動作しませんAndroidのデザインパターンのサイトから引用するとandroid bulletproof toastメソッド
// won't work.. I need something that can run given a Context, rather than
// an Activity
public static void ShowToast(final Activity activity,
final String message, int length) {
activity.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(activity, message, Toast.LENGTH_SHORT).show();
}
});
OK。いい視点ね。私はそれを行うことができましたが、メッセージが入ったときにユーザーが画面を見ている場合にトーストを出すのがいいと思っていました。タスクバーの通知よりもやりにくく、場合によっては好ましいことがある。たとえアンドロイドビッグウィッグがそうではないとは言っても、それでもやり遂げることができるチャンス、あるいはそれはちょっと悪い考えで、私はそれをあきらめるべきですか? – MrGibbage