我没有运气从偏好设置屏幕开始获取服务,也无法在线找到任何示例。这就是我正在做的事情:
首选项XML:
<PreferenceScreen
android:title="Start Service">
<intent
android:action="com.test.app.myservice" />
</PreferenceScreen>
清单:
<service
android:enabled="true"
android:name=".myservice">
<intent-filter>
<action
android:action="com.test.app.myservice" />
</intent-filter>
</service>
错误:
ERROR/AndroidRuntime(7912): android.content.ActivityNotFoundException:
No Activity found to handle Intent { act=com.test.app.myservice }
有什么想法吗?
答案 0 :(得分:0)
错误消息显示会发生什么:您需要启动一个Activity而不是一个Service。尝试构建一个普通的首选项活动并处理那里的设置更改。
答案 1 :(得分:0)
为什么不尝试实现registerOnSharedPreferenceChangeListener并将其连接到复选框或其他内容。这样,您可以以编程方式启动或停止服务。我认为这可能是处理这种情况的更优选方式。如果您需要显示服务的当前状态(是否检查或取消选中),请查看绑定本地服务。
答案 2 :(得分:0)
你可以为你的意图注册一个接收器并从接收器开始服务,如果你想从你的偏好屏幕的任何check.box启动服务,或者你可以使用现有的回调函数onPreference change listners来启动服务于偏好活动..