how to create alertdialog outside of an application?(如何在应用程序之外创建警报对话框?)
问题描述
我想在我的应用程序之外创建一个警报对话框.
I want to create an alertdialog outside of my application.
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(Config_ConstantVariable.latest);
builder.setMessage(title);
builder.setIcon(R.drawable.push_logo);
builder.setCancelable(false)
.setPositiveButton(Config_ConstantVariable.alertbtnyes,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(context,
Main_ParticularNewsDetail.class);
Bundle bundle = new Bundle();
intent.putExtra("newsid", payload);
intent.putExtras(bundle);
context.startActivity(intent);
}
})
.setNegativeButton(Config_ConstantVariable.alertbtnno,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
但是,context
不是一个活动,这个类是 extends BroadcastReceiver
.
However, the context
is not an activity and this class is extends BroadcastReceiver
.
当我推送通知时,发生了错误,
When I push notification, an error occured,
06-18 18:38:08.629: E/AndroidRuntime(2402): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
我看到WhatsApp可以在三星galaxy标签的应用程序外弹出对话框.
I saw WhatsApp that can pop out the dialog outside the application in samsung galaxy tab.
推荐答案
我在我的应用程序中使用了相同的功能,我使用一个活动作为弹出消息,如下所示
I am using the same functionality in my app where i used one activity as a pop up message like below
@Override
public void onReceive(Context context, Intent intent) {
try {
Bundle bundle = intent.getExtras();
String message = bundle.getString("alarm_message");
Intent newIntent = new Intent(context, PopupActivity.class);
newIntent.putExtra("alarm_message", message);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(newIntent);
} catch (Exception e) {
e.printStackTrace();
}
}
在 Popup Activity 中设计类似对话框的 UI 并将其添加到 Android Manifest.xml 中
In the Popup Activity design the UI like the dialog box and add this in Android Manifest.xml
<activity android:name=".PopupActivity"
android:theme="@android:style/Theme.Dialog"
android:label="@string/label"
></activity>
您可以根据您的规范自定义 UI.它对我来说非常适合.希望对你有帮助.
You can customise the UI based on your specification.Its working perfectly for me. I hope it helps.
这篇关于如何在应用程序之外创建警报对话框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在应用程序之外创建警报对话框?
基础教程推荐
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01