我在一个Application里写了一个后台运行的Service,主要功能是计时并发出通知,在启动应用程序的时候用startService启动服务。
现在通过调试发现,Service的功能没有问题,但是只有在应用程序中启动服务时它才有效,退出Activity之后,虽然在系统设置里的“正在运行的服务”里还有它,但是已经不再按时发出通知了有什么办法能让服务一直在后台有效运行?还有一个问题是,我希望这个服务可以开机自动启动,于是写了一个类继承BroadcastReceiver,在onReceive(context, intent)里判断接收到的intent的Action,如果是"android.intent.action.BOOT_COMPLETED"就startService。在AndroidManifest.xml里加了以下代码: <receiver
android:name=".BootBroadcastReceiver"
android:label="@string/app_name">
<intent-filter>
<action android:name=
"android.permission.RECEIVE_BOOT_COMPLETED">
</action>
<category android:name=
"android.intent.category.LAUNCHER">
</category>
</intent-filter>
</receiver>不过好像没有用。求指点!
现在通过调试发现,Service的功能没有问题,但是只有在应用程序中启动服务时它才有效,退出Activity之后,虽然在系统设置里的“正在运行的服务”里还有它,但是已经不再按时发出通知了有什么办法能让服务一直在后台有效运行?还有一个问题是,我希望这个服务可以开机自动启动,于是写了一个类继承BroadcastReceiver,在onReceive(context, intent)里判断接收到的intent的Action,如果是"android.intent.action.BOOT_COMPLETED"就startService。在AndroidManifest.xml里加了以下代码: <receiver
android:name=".BootBroadcastReceiver"
android:label="@string/app_name">
<intent-filter>
<action android:name=
"android.permission.RECEIVE_BOOT_COMPLETED">
</action>
<category android:name=
"android.intent.category.LAUNCHER">
</category>
</intent-filter>
</receiver>不过好像没有用。求指点!
解决方案 »
- Android蓝牙开发中,设备能用代码控制自动匹配吗?
- android下svg tiny 如何设置中文字体
- 用http方式,根据经纬度查地址出错
- TableLayout布局中的TableRow有行有点击事件嘛??
- 最近在做android的layout,但是发现用了dip的单位后,在不同屏幕下还是有差矣,请问怎么办
- android progressBar的高级用法,求指教~
- 下载linaro android 4.0 for imx53 错误
- android include问题
- 如何给view设置style?
- WeatherWebService获取失败
- 手机与电脑蓝牙适配器连接配对后搜不到服务,无法传送文件
- android 手机电子书格式问题
自己对比一下
不按时发出通知不代表服务已经停止,或许是你发出通知的代码块有问题呢?请你确认你的服务已经停止(定时打印log手段),然后大家才能帮你定位问题。
第一个问题好像是我的Service的代码有些bug,第二个问题是AndroidManifest的action name写错了……