2012-04-07 6 views
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(); 
    } 
}); 

答えて

1

:あなたのアプリは、ダイアログやトースト場合は作成しないでください「ダイアログとトーストがフィードバックない通知するためのものです。現在は画面に表示されていません "。

参照:http://developer.android.com/design/patterns/notifications.html

ではなく、通知を使用してください。

+0

OK。いい視点ね。私はそれを行うことができましたが、メッセージが入ったときにユーザーが画面を見ている場合にトーストを出すのがいいと思っていました。タスクバーの通知よりもやりにくく、場合によっては好ましいことがある。たとえアンドロイドビッグウィッグがそうではないとは言っても、それでもやり遂げることができるチャンス、あるいはそれはちょっと悪い考えで、私はそれをあきらめるべきですか? – MrGibbage

関連する問題