Android:使用任务管理器杀死后小部件停止接收任何意图/
我有一个应用程序,其中一个 .apk 文件中有一个小部件。
小部件对传入的短信和其他特定于应用程序的事件做出反应。当用户单击它时,它还会启动主要活动。
问题是,当用户启动一个活动(单击小部件或从应用程序菜单中 - 无关紧要)然后使用任务管理器终止应用程序时 - 我的小部件停止接收任何意图(如 TIME_TICK)。
我知道我的问题的解决方案存在(我在android市场中看到应用程序,这些小部件能够在被用户杀死后启动活动)
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:a="http://schemas.android.com/apk/res/android"
package="ru.studiomobile">
<application a:icon="@drawable/icon" a:label="@string/app_name">
<!-- Widget -->
<receiver a:name=".widget.WidgetProvider" a:label="@string/app_name">
<intent-filter>
<action a:name="android.MyWidget.ACTION_ON_WIDGET_CLICK"/>
<action a:name="android.MyWidget.ACTION_CHANGE_DAY_NIGHT"/>
</intent-filter>
<meta-data a:name="android.appwidget.provider"
a:resource="@xml/widget_provider"/>
</receiver>
<service a:name=".widget.UpdateService" a:label="UpdateService"
a:exported="false">
<intent-filter>
<action a:name="android.MyWidget.ACTION_ON_WIDGET_CLICK"/>
<action a:name="android.MyWidget.ACTION_CHANGE_DAY_NIGHT"/>
</intent-filter>
</service>
</application>
</manifest>
I've got an application with a widget in one .apk file.
Widget reacts on incoming sms and other app-specific events. And also it launches the main activity when user clicks on it.
The problem is that when user starts an activity (clicking on a widget or from applications menu - doesn't matter) and then kills an application using task manager - my widget stops receiving any intents (like TIME_TICK).
I know that solution for my problem exists (I saw apps in android market which widgets are able to launch an activity after it was killed by user)
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:a="http://schemas.android.com/apk/res/android"
package="ru.studiomobile">
<application a:icon="@drawable/icon" a:label="@string/app_name">
<!-- Widget -->
<receiver a:name=".widget.WidgetProvider" a:label="@string/app_name">
<intent-filter>
<action a:name="android.MyWidget.ACTION_ON_WIDGET_CLICK"/>
<action a:name="android.MyWidget.ACTION_CHANGE_DAY_NIGHT"/>
</intent-filter>
<meta-data a:name="android.appwidget.provider"
a:resource="@xml/widget_provider"/>
</receiver>
<service a:name=".widget.UpdateService" a:label="UpdateService"
a:exported="false">
<intent-filter>
<action a:name="android.MyWidget.ACTION_ON_WIDGET_CLICK"/>
<action a:name="android.MyWidget.ACTION_CHANGE_DAY_NIGHT"/>
</intent-filter>
</service>
</application>
</manifest>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可能您需要一个服务 http://developer.android.com/reference/ android/app/Service.html
而不仅仅是活动。服务监控传入的短信。
Probably you need to have a service http://developer.android.com/reference/android/app/Service.html
instead of just activity. Service monitors incoming sms.