【发布时间】:2016-04-04 07:02:42
【问题描述】:
我知道有人问过这个问题,但我无法解决。我想在 Android 的服务上显示简单的 AlertDialog。我可以在 MainActivity 上很好地展示它,但我在 Service 上遇到了问题,这是我的代码:
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
-
“我知道有人问过这个问题,但我无法解决。” 链接到您阅读的之前的问题/答案,但无法应用于您的代码,并尽可能说明为什么你不能应用它们。
-
通过意图/本地广播将数据从服务传递到活动。在接收端提醒数据!。
-
@MadhukarHebbar 我使用了您发送的链接,但我收到了一个错误。