>我正在创建一个触发意图的通知。这是我的代码的一个真正缩短的摘录......
Notification notification = new Notification(R.drawable.icon, "notification", System.currentTimeMillis());
NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Intent notificationIntent = new Intent(BackgroundService.this, ConnectionHandler.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
notificationIntent.addFlags(Intent.FLAG_FROM_BACKGROUND);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, getString(R.string.notification_title), getString(R.string.notification_body), pendingIntent);
notification.flags |= notification.FLAG_AUTO_CANCEL;
nm.notify(1, notification);
在我的意图(ConnectionHandler.class
),我想展示一个有效的警报对话框。但是我希望警报对话框在不打开新的UI窗口的情况下显示。对我来说最好的是,如果点击通知条目时警报对话框只是出现而没有其他任何东西。
任何想法都是值得赞赏的。
问候,托比
来自开发指南:
显示对话框
对话框始终作为活动的一部分创建并显示。
简单的替代方法是创建一个非常基本的Activity
,除了对话框之外什么都不显示,并在对话框关闭后立即调用finish()
。
创建如下所示的透明活动:
如何在安卓上创建透明活动?
并将其与对话框主题相结合。
有一个非常简单的答案:活动可以看起来像一个对话框。在清单中添加以下内容:
android:theme="@android:style/Theme.Dialog"
它看起来像一个对话框。
如果要显示警报对话框,请使用以下代码:
- 活动
AlertDialog d = new AlertDialog.Builder(this).setTitle("Blah-Blah").setBlah().show()
- 清单
android:theme="@android:style/Theme.Translucent"