1
回答
android7.0如何修改Launcher界面为自己定义的界面
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

最近新项目中有定制首次开机界面的需求,于是自己写了个应用,在主Activity的intent-filter中配置如下:

<intent-filter>
     <action android:name="android.intent.action.MAIN"/>
     <category android:name="android.intent.category.LAUNCHER" />
     <category android:name="android.category.myownapp" />
     <category android:name="android.intent.category.DEFAULT"/>
     <category android:name="android.intent.category.HOME" />
</intent-filter>
然后在AcitvityManagerService中的getHomeIntent中配置这个intent.addCategory("android.category.myownapp")

这样修改之后开机启动会发送带有android.category.myownapp的信息,应该会启动我们的应用,但是系统却提示没有找到我们的activity,有人碰到过这种情况吗?

举报
yzwstc
发帖于1年前 1回/1K+阅
共有1个答案 最后回答: 1年前
尝试在App AndroidMainfest.xml 中加 android:persistent="true"属性.在系统启动的时候就加载它,否则应用没启动很多都没初始化,接收不到Intent 信息的吧。  另外这个应用里加开机广播,这样收到广播后起来不更方便么?为什么要AcitvityManagerService中调起呢?不清楚你们需求,只是如果单纯就是让它起来的话觉得没必要这么麻烦。很多时候应用开机启动,就是得到广播以后,自己启动自己Activity.我们以前这么做的。
--- 共有 1 条评论 ---
yzwstc现在问题已经解决,在systemready里执行startHomeActivityLocked的时候延时加载就可以了,应该是包没有加载完全,启动的时候找不到这个activity,导致无法启动; 需求是应用需要尽早启动,接收开机广播那就太慢了 1年前 回复
顶部