我知道這個問題已被問到,但我無法解決它。我想在Android的服務上顯示簡單的AlertDialog。我可以很好地表現出來的MainActivity但我對服務的一個問題,這是我的代碼:Android - 不是封閉類
CustomMainActivity.java:
public void popupDialogMain()
{
final Context context = getApplicationContext();
Handler h1 = new Handler(context.getMainLooper());
h1.post(new Runnable() {
@Override
public void run() {
if (mBXmpp)
mBXmppService.popupDialogMain2();
}
});
}
XmppService.java:
public static void popupDialogMain2()
{
AlertDialog.Builder builder = new AlertDialog.Builder(CustomMainActivity.this)
.setMessage("Look at this dialog!")
.setCancelable(true)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
//do things
}
});
AlertDialog alert = builder.create();
builder.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
alert.show();
}
我在這條線上得到一個錯誤: AlertDialog.Builder builder = new AlertDialog.Builder(CustomMainActivity.this)
Android清單: 我加入這個權限:
android.permission.SYSTEM_ALERT_WINDOW
而且我得到這個錯誤: 不是一個封閉類:CustomMainActivity
任何建議來解決呢?
顯示來自服務的警報不是一個好習慣。試試這個[link](http://stackoverflow.com/a/19269931/4596556) –
*「我知道這個問題已經被問到,但是我解決不了。」*鏈接到您閱讀的以前的問題/答案,不適用於您的代碼,並儘可能說出*爲什麼*您無法應用它們。 –
可能重複[不是封閉類Java](http://stackoverflow.com/questions/20252727/is-not-an-enclosing-class-java) – malarres