如何在应用程序之外创建警报对话框?

2024-04-14移动开发问题
5

本文介绍了如何在应用程序之外创建警报对话框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想在我的应用程序之外创建一个警报对话框.

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.

这篇关于如何在应用程序之外创建警报对话框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

如何在 COCOS2d Android 中使用 CClistview?
How can I use CClistview in COCOS2d Android?(如何在 COCOS2d Android 中使用 CClistview?)...
2024-08-12 移动开发问题
5

cocos2d-android:如何显示分数
cocos2d-android: how to display score(cocos2d-android:如何显示分数)...
2024-08-11 移动开发问题
7

Sqlite 数据库未从资产文件夹 Android 复制
Sqlite database not copied from asset folder Android(Sqlite 数据库未从资产文件夹 Android 复制)...
2024-04-15 移动开发问题
8

SQLite 数据库副本在由设备而不是模拟器生成时出现损坏
SQLite Database Copy Appears Corrupted When Generated by Device and not Emulator(SQLite 数据库副本在由设备而不是模拟器生成时出现损坏)...
2024-04-15 移动开发问题
4

安卓文件拷贝
Android file copy(安卓文件拷贝)...
2024-04-15 移动开发问题
6

Android如何在android中检测Edittext的Copy事件
Android how to detect Copy event of Edittext in android(Android如何在android中检测Edittext的Copy事件)...
2024-04-15 移动开发问题
5