V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Icex
V2EX  ›  Android

关于系统应用启动问题

  •  
  •   Icex · 2019-11-11 14:41:17 +08:00 · 9573 次点击
    这是一个创建于 1838 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我将定制 apk 签名为系统应用(以下简称为 S 应用),并且放置于 system/app 文件夹下,机器重启时也顺利安装了; 但是由于 S 应用重未启动过,所以无法接收到系统的开机广播来完成自启。 于是我想到了使用用户 app 发送特定的广播,并为该广播加入 FLAG_INCLUDE_STOPPED_PACKAGES 特性,但是 S 应用还是未能接收到用户 app 发送的特定的广播。 如果 S 应用安装在 data/app 下,使用用户 app 发送的广播则能接受,是否是因为用户 app 发送的广播系统级别的应用时无法接收的?不可跨级通讯?

    6 条回复    2019-11-13 10:43:41 +08:00
    ericcode
        1
    ericcode  
       2019-11-11 15:03:57 +08:00   ❤️ 1
    按理说,安装在 system/app 下边就可以搜到开机广播啊,你的 UID 是 1000 吗
    frantic
        2
    frantic  
       2019-11-11 15:04:49 +08:00
    我记得以前在哪看过 FLAG_INCLUDE_STOPPED_PACKAGES 对系统应用无效
    F1ReKing
        3
    F1ReKing  
       2019-11-12 09:25:27 +08:00
    我也是用系统的签名加签,再放到 system/app 下,能够起来,对了,记得在 manifest 里面加 android:sharedUserId="android.uid.system",这样开机广播就会自动注册
    Icex
        4
    Icex  
    OP
       2019-11-12 09:36:53 +08:00
    @frantic 这样子,我在探索一下
    Icex
        5
    Icex  
    OP
       2019-11-12 09:37:50 +08:00
    @fireking 加了 android.uid.system 了,但是我的应用是只要一个服务的的应用
    Icex
        6
    Icex  
    OP
       2019-11-13 10:43:41 +08:00
    @ericcode 是的,uid 已经声明为 1000 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2565 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:23 · PVG 23:23 · LAX 07:23 · JFK 10:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.