如何在IntentService中顯示AlertDialog?錯誤如下所示: 無法添加窗口 - 標記null不適用於應用程序。 所以這是上下文的問題,但我不知道如何解決它。任何解決方案 下面是我的代碼:在IntentService中顯示AlertDialog
public class GcmMessageHandler extends IntentService {
private GoogleCloudMessaging gcm;
private static AlertDialog alert;
String mes;
private Handler handler;
public GcmMessageHandler() {
super("GcmMessageHandler");
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
handler = new Handler();
}
@Override
protected void onHandleIntent(Intent intent) {
Bundle extras = intent.getExtras();
gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
mes = extras.getString("message");
MApp.wakeupSync();
showToast();
Log.i("GCM", "Received : (" + messageType + ") " + extras.getString("message"));
GcmBroadcastReceiver.completeWakefulIntent(intent);
}
@Override
public void onDestroy() {
try {
gcm.unregister();
} catch (IOException e) {
e.printStackTrace();
}
}
public void showToast(){
handler.post(new Runnable() {
public void run() {
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
builder.setMessage("TEST")
.setCancelable(false)
.setNegativeButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
alert = builder.create();
alert.show();
}
});
}
}
我認爲你唯一可以做的事情,就是啓動這表明你對話的活動。您可以使活動的背景透明。 – Christopher
將結果返回到您已經開始的地方。 –
展會活動爲對話框,<活動安卓主題=「@安卓風格/ Theme.Dialog」 /> – rajahsekar