IntentServiceにトーストメッセージを表示させようとしていますが、onHandleIntentメッセージから送信すると、トーストは表示されますが、スタックして画面が表示されたままになりません。onHandleIntentメソッドがメインサービススレッドで発生しないためだと思いますが、どうすれば移動できますか?
誰かがこの問題を抱えて解決しましたか?
IntentServiceにトーストメッセージを表示させようとしていますが、onHandleIntentメッセージから送信すると、トーストは表示されますが、スタックして画面が表示されたままになりません。onHandleIntentメソッドがメインサービススレッドで発生しないためだと思いますが、どうすれば移動できますか?
誰かがこの問題を抱えて解決しましたか?
aをonCreate()
初期化しHandler
、スレッドから投稿します。
private class DisplayToast implements Runnable{
String mText;
public DisplayToast(String text){
mText = text;
}
public void run(){
Toast.makeText(mContext, mText, Toast.LENGTH_SHORT).show();
}
}
protected void onHandleIntent(Intent intent){
...
mHandler.post(new DisplayToast("did something"));
}
ハンドルを使用して、操作内容の Runnable を投稿します
protected void onHandleIntent(Intent intent){
Handler handler=new Handler(Looper.getMainLooper());
handler.post(new Runnable(){
public void run(){
//your operation...
Toast.makeText(getApplicationContext(), "hello world", Toast.LENGTH_SHORT).show();
}
});