0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | RK3568 Android11 如何实现自启动应用

启扬ARM嵌入式开发 2026-02-05 17:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着Android版本的不断升级,对于应用权限的管理会更加苛刻。我司IAC-RK3568-Kit开发板默认搭载Android11,相比较之前RK3288的产品安卓版本变更较大,有些客户反馈之前Android7.1自启动应用的方法在高版本安卓上无法生效,今天就对此展开讨论。

c0a7a2ae-0274-11f1-96ea-92fbcf53809c.png


在早期版本中,大多数自启动应用的做法都是通过广播接收器接收开机广播,然后直接启动自己的应用,但是在高版本安卓中广播接收器的权限被严格限制,所以在logcat中你可以发现自己的应用并没有正常起来,并可能伴随着ANR的发生或程序因为某种超时被杀死的情况。

在高版本安卓中,服务的概念贯穿上层到底层,服务的便携性以及承上启下的作用使得它没有很多限制,可以在满足权限要求严格的广播接收器中正常启动,然后在服务中再自启动。所以具体根据需求我们需要重写相关方法,建立自己的服务,在服务中启动我们自己的UI,如下图所示:


c0d57b3e-0274-11f1-96ea-92fbcf53809c.png


服务的建立与启动逻辑完成之后,只需要在广播接收器中拉起建立服务即可,如下图所示:


c0ecd798-0274-11f1-96ea-92fbcf53809c.png


当然,这些任务做完之后,AndroidManifest.xml里的权限也需要得到补充


c10584b4-0274-11f1-96ea-92fbcf53809c.png


正常启动之后可以发现应用已经常驻后台,通过状态栏可以看到应用在持续的运行中,那为什么没有显示到桌面launch前面呢?这主要是因为桌面launch是系统级应用,级别高于我们自己的应用,所以不允许显示在系统级应用之前。


针对这个问题,可以有两种解决思路,一是通过系统签名,将自己的应用打上系统签名,这样就可以显示在系统launch之前,二是通过修改安卓底层源码,framwork层,更改应用筛选条件,不再通过签名的方式辨别系统级应用还是我们自己的应用,这样也可以做到相同的效果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    4041

    浏览量

    134740
  • 开发板
    +关注

    关注

    26

    文章

    6487

    浏览量

    121327
  • RK3568
    +关注

    关注

    5

    文章

    657

    浏览量

    8183
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎样去处理RK3568 android11 kernel生成的文件呢

    怎样去处理RK3568 android11 kernel生成的文件呢?
    发表于 03-02 06:01

    迅为iTOP-RK3568开发板Android11移植之源码结构简介

    硬件平台:迅为iTOP-3568开发板平台软件版本:Android11 手把手教你在rk3568开发板上移植Android11。内含硬件原理图分析、底层驱动编写与
    发表于 03-28 14:45

    【北京迅为】itop-rk3568开发板官方Android11移植教程

    手把手教你在rk3568开发板上移植Android11。内含硬件原理图分析、底层驱动编写与Android底层框架,JNI编程等众多技能点,让您的学习和使用过程更加轻松~
    发表于 03-28 15:20

    【超前发布】瑞芯微RK3568视频教程

    iTOP-3568开发板视频教程本次更新的视频有三期RK3568开发板开发环境搭建RK3568开发板的启动模式以及引导顺序RK3568开发
    发表于 05-07 15:43

    迅为干货 |瑞芯微RK3568开发板Android11系统开发笔记

    编译Android11源码,编译完会在相应的目录下自动生成对应名字的文件。/home/topeet/Android11/rk_android11.0_sdk/out/target/product/
    发表于 06-15 16:56

    【重磅来袭】迅为RK3568 Android11系统移植视频教程

    Android11原厂BSP7_将原厂Android11源码整体编译...8_原厂uboot源码顶层目录讲解9_通过ARMv8启动流程了解RK3568...10_使用ddrbin_to
    发表于 07-08 14:43

    迅为RK3568开发Android12系统烧写 Android 固件

    /Image-rk3568_r/(Android11)或者 rockdev/Image-rk3568_s/(Android12)目录下, 可以拷贝源码编译输出目录的镜像进行单独烧写。单
    发表于 08-01 16:41

    迅为RK3568开发板Android11系统开发笔记分享

    1、迅为RK3568开发板Android11系统开发笔记Android11 预安装应用功能在进行本章节时,需要将迅为提供的Android11源码编译通过。
    发表于 08-25 18:06

    iTOP-RK3568开发板Android11设置语言和默认时区

    += \\persist.sys.language=zh \\persist.sys.country=CN \\persist.sys.timezone=Asia/Shanghai修改完,保存修改,重新编译 android 源码。更多内容:迅为RK3568开发板
    发表于 04-06 10:12

    迅为iTOP-RK3568开发板Android11移植之源码结构简介

    手把手教你在rk3568开发板上移植Android11。内含硬件原理图分析、底层驱动编写与Android底层框架,JNI编程等众多技能点,让您的学习和使用过程更加轻松~
    的头像 发表于 03-28 14:34 2910次阅读
    迅为iTOP-<b class='flag-5'>RK3568</b>开发板<b class='flag-5'>Android11</b>移植之源码结构简介

    【重磅来袭】迅为RK3568 Android11系统移植视频教程

    【重磅来袭】迅为RK3568 Android11系统移植视频教程
    的头像 发表于 07-08 15:37 1922次阅读
    【重磅来袭】迅为<b class='flag-5'>RK3568</b> <b class='flag-5'>Android11</b>系统移植视频教程

    瑞芯微RK3566/RK3568 Android11下该如何默认屏蔽导航栏/状态栏?看这篇文章就懂了

    本文介绍瑞芯微RK3566/RK3568Android11系统默认屏蔽导航栏/状态栏方法,触觉智能的Purple Pi OH鸿蒙开发板演示,搭载瑞芯微RK3566芯片,已适配全新Op
    的头像 发表于 10-30 18:26 2154次阅读
    瑞芯微<b class='flag-5'>RK</b>3566/<b class='flag-5'>RK3568</b> <b class='flag-5'>Android11</b>下该如何默认屏蔽导航栏/状态栏?看这篇文章就懂了

    基于迅为RK3568开发板全国产平台,快速实现APP开机自启动技术分享

    基于迅为RK3568开发板全国产平台,快速实现APP开机自启动技术分享
    的头像 发表于 11-21 13:58 1920次阅读
    基于迅为<b class='flag-5'>RK3568</b>开发板全国产平台,快速<b class='flag-5'>实现</b>APP开机<b class='flag-5'>自启动</b><b class='flag-5'>技术</b>分享

    Android11修改摄像头前后置方法,触觉智能RK3568开发板演示

    本文介绍在Android11系统下,修改摄像头前后置属性的方法。使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、
    的头像 发表于 11-28 15:25 71次阅读
    <b class='flag-5'>Android11</b>修改摄像头前后置方法,触觉智能<b class='flag-5'>RK3568</b>开发板演示

    RK3568 Android11编译环境搭建及报错解决指南

    在嵌入式开发领域,RK3568 芯片凭借其出色的性能被广泛应用。基于 RK3568 进行 Android11 系统的开发,首先要搭建好编译环境。本文将详细介绍在 Ubuntu20.04 系统上搭建
    的头像 发表于 02-04 17:37 2316次阅读
    <b class='flag-5'>RK3568</b> <b class='flag-5'>Android11</b>编译环境搭建及报错解决指南