Icex
V2EX  ›  Android

关于系统应用启动问题

  •  
  •   Icex · Nov 11, 2019 · 14733 views
    This topic created in 2557 days ago, the information mentioned may be changed or developed.

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

    6 replies  •  2019-11-13 10:43:41 +08:00
    ericcode
    ericcode
    Nov 11, 2019❤️1
    1
    按理说,安装在 system/app 下边就可以搜到开机广播啊,你的 UID 是 1000 吗
    m0mo
    m0mo
    Nov 11, 2019
    2
    我记得以前在哪看过 FLAG_INCLUDE_STOPPED_PACKAGES 对系统应用无效
    F1ReKing
    F1ReKing
    Nov 12, 2019
    3
    我也是用系统的签名加签,再放到 system/app 下,能够起来,对了,记得在 manifest 里面加 android:sharedUserId="android.uid.system",这样开机广播就会自动注册
    Icex
    Icex
    OP
    Nov 12, 2019
    4
    @frantic 这样子,我在探索一下
    Icex
    Icex
    OP
    Nov 12, 2019
    5
    @fireking 加了 android.uid.system 了,但是我的应用是只要一个服务的的应用
    Icex
    Icex
    OP
    Nov 13, 2019
    6
    @ericcode 是的,uid 已经声明为 1000 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1273 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:52 · PVG 07:52 · LAX 15:52 · JFK 18:52
    ♥ Do have faith in what you're doing.