因为似乎不可能将EditText放入AppWidget中,所以当我单击PopUpWindow时,我想用EditText打开它。
我知道如何从AppWidget中打开活动,也知道如何从活动中打开PopUpWindow。但是,我不知道如何从AppWidget打开PopUpWindow。我已经研究了javadoc中的许多类(Intent、RemoteViews、PendingIntent等),但我找不到如何启动这个PopUpWindow。任何帮助都将不胜感激。
发布于 2012-09-30 12:06:01
你知道AppWidgetProvider是一个BroadcastReceiver。Android Doc说:
BroadcastReceiver对象仅在调用onReceive(Context,Intent)期间有效。一旦您的代码从此函数返回,系统就会认为该对象已完成并且不再处于活动状态。
这对您在onReceive(Context,Intent)实现中可以做的事情有重要的影响:任何需要异步操作的操作都不可用,因为您将需要从函数返回以处理异步操作,但此时BroadcastReceiver不再处于活动状态,因此系统可以在异步操作完成之前自由地终止其进程。
尤其是,您不能在BroadcastReceiver中显示对话框或绑定到服务。对于前者,您应该改用NotificationManager接口。对于后者,您可以使用Context.startService()向服务发送命令。
看起来你有三种方法:
click to >使用服务来显示弹出窗口(请参见How to display alert diaolog(popup) from backgroung running service?)
发布于 2018-07-17 01:58:47
您可以让appWidget打开一个活动,然后显示一个对话框片段,或者使用对话框样式使该活动看起来像一个对话框。
https://stackoverflow.com/questions/8991214
复制相似问题