android - 如何在收到广播后在android上弹出并要求用户输入

标签 android popup android-activity notifications broadcastreceiver

嘿,我是 Android 开发的新手,正在尝试制作我的第一个应用程序。

我试图实现的是我在 Handcent SMS 中看到的一个功能:弹出通知。

到目前为止,我的应用程序有一个广播接收器,它使用 Toast 来显示传入的 SMS 消息。

但是,我想制作一个弹出窗口来显示消息,并为用户提供输入回复的空间和发送按钮,而不是 Toast 通知。 (还有一个按钮,用于简单地确认消息而不回复)

我将如何做到这一点? 我可以创建自己的“ float ” Activity 并使用 startActivityForResult 吗? 因为广播接收器不应该做任何繁重的工作,所以必须从服务内部触发吗?

或者我可以使用 NotificationManager 什么的。

最佳答案

你需要有一个 Activity (布局+事件等)并且为了“ float ”你需要将它的主题设置为对话框,这可以在你定义 Activity 的 list 文件中完成

有点像

<activity android:name=".utils.TextEntryActivity"
        android:label="Type in the value" android:theme="@android:style/Theme.Dialog" />

要从 BroadcastReceiver 启动其他 Activity ,您可以使用传递给 onReceive 事件的 Context

context.startActivityForResult(...)

关于android - 如何在收到广播后在android上弹出并要求用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3249670/

相关文章:

javascript - $.ajax().done() 中的 window.open 和弹出窗口拦截器

android - 从文件加载 AppState 时显示 ProgressDialog

android - onActivityResult() 过早调用

android - 即使在开始新 Activity 并清除返回堆栈后仍保留根 Activity

android - Mockito 空指针异常

java - 如何更改codenameone android应用程序中状态栏的颜色?

android - 如何从资源设置 Webview 链接颜色

java - 随机方法 tic tac toe android

CSS Popup 覆盖浏览器后退按钮

wpf - 将弹出窗口位置锁定到元素,或伪造带有图层的弹出窗口以在 ItemsControl 中进行就地编辑