放胆眠 2021-07-26 17:41 采纳率: 33.3%
浏览 226

Android开机自启动Service失败,找不到问题反馈;

最近在开发一款Android大屏应用,配合手机进行投屏,目前已实现功能,但是目前每次都需要进入程序,在onCreate中启动核心服务类。
故想优化一下程序,在AndroidManifest.xml中注册一个广播监听器,监听开机广播android.intent.action.BOOT_COMPLETED,然后在广播接收器的抽象函数onReceive中启动我的核心服务类。我按照目前几篇博客提供的方法,每次重启手机都没有效果,也不知道啥原因。希望大家提提意见,这问题调试都没办法。

 <!--注册服务-->
<service
                android:name=".SinkTesterService"
                android:enabled="true"
                android:exported="true"/>
        <!--注册广播接收器-->
        <receiver android:name=".ServiceReceiver"
                  android:enabled="true"
                  android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
    </application>
     <!--申请权限-->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

广播接收器类:

public class ServiceReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        LogHelper.Log("软件接收到开机信号!!!!!",true);
        if(intent.getAction().equals(intent.ACTION_BOOT_COMPLETED)){
            LogHelper.Log("ServiceReceiver中接收到设备开机信号",true);
            Intent i=new Intent(context,SinkTesterService.class);
            context.startService(i);
        }
    }
}
  • 写回答

1条回答 默认 最新

  • EasonLiu_ 2021-07-29 10:10
    关注

    manifest中有没有添加对应权限?

    评论

报告相同问题?

问题事件

  • 创建了问题 7月26日

悬赏问题

  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 游戏盾如何溯源服务器真实ip?
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓