美文网首页我爱编程
Android第三方应用无法接收到开机广播

Android第三方应用无法接收到开机广播

作者: Atlans | 来源:发表于2018-04-09 10:09 被阅读0次

--- a/services/core/java/com/android/server/am/ActivityManagerService.java

+++ b/services/core/java/com/android/server/am/ActivityManagerService.java

@@ -16727,7 +16727,7 @@ public final class ActivityManagerService extends ActivityManagerNative

        intent = new Intent(intent);

        // By default broadcasts do not go to stopped apps.

-        intent.addFlags(Intent.FLAG_EXCLUDE_STOPPED_PACKAGES);

+        intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);

        // If we have not finished booting, don't allow this to launch new processes.

        if (!mProcessesReady && (intent.getFlags()&Intent.FLAG_RECEIVER_BOOT_UPGRADE) == 0) {

diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java

index 844e3901cd4..5c92179f1ca 100755

--- a/services/core/java/com/android/server/pm/PackageManagerService.java

+++ b/services/core/java/com/android/server/pm/PackageManagerService.java

@@ -9761,7 +9761,7 @@ public class PackageManagerService extends IPackageManager.Stub {

            IActivityManager am = ActivityManagerNative.getDefault();

            final boolean isSystem =

                    isSystemApp(pkgSetting) || isUpdatedSystemApp(pkgSetting);

-            if (isSystem && am.isUserRunning(userId, false)) {

+            //if (isSystem && am.isUserRunning(userId, false)) {

                // The just-installed/enabled app is bundled on the system, so presumed

                // to be able to run automatically without needing an explicit launch.

                // Send it a BOOT_COMPLETED if it would ordinarily have gotten one.

@@ -9770,7 +9770,7 @@ public class PackageManagerService extends IPackageManager.Stub {

                        .setPackage(packageName);

                am.broadcastIntent(null, bcIntent, null, null, 0, null, null, null,

                        android.app.AppOpsManager.OP_NONE, null, false, false, userId);

-            }

+            //}

        } catch (RemoteException e) {

            // shouldn't happen

            Slog.w(TAG, "Unable to bootstrap installed package", e);

相关文章

  • Android静态广播多action冲突

    最近有个需求,开机自启,应用安装后自启,需要监听广播 问题:应用可以收到app覆盖的广播,无法收到开机广播修改: ...

  • Android第三方应用无法接收到开机广播

    --- a/services/core/java/com/android/server/am/ActivityMa...

  • 无法收到开机广播

    国内第三方厂商对自启动做了一些限制,比如小米要在安全中心-->授权管理--自启动管理里添加三星要在智能管理器里面添...

  • Broadcast广播的基本使用

    全局广播:在整个Android系统中应用不但可以接受自己的广播,也可以接受别的应用的广播,或则系统的广播(开机广播...

  • android app保活笔记

    黑色保活 利用不同app进程使用的广播唤醒 开机、网络切换、拍照的系统广播 第三方SDK的广播 应用间的广播,BA...

  • Android 开机自启动 App

    Android 设备开机自启动的可以用广播实现,因为 Android 设备开机时会发送一条开机广播 "androi...

  • Android App 开机自启动

    Android 设备开机自启动的可以用广播实现,因为 Android 设备开机时会发送一条开机广播 "androi...

  • Android 避开BOOT_COMPLETED启动慢的问题

    Android 很多应用和服务通过监听BOOT_COMPLETED达到开机启动的目的,但很多时候,你会发现开机广播...

  • Android7.0 第三方应用无法访问私有库

    Android7.0 第三方应用无法访问私有库 由于Android7.0安全机制更严格,第三方应用无法使用syst...

  • Android应用自启动机制

    一般应用自启动是通过开机广播实现。1.系统开机后,系统产生并发送开机广播,同时设置开机广播的Flag为FLAG_e...

网友评论

    本文标题:Android第三方应用无法接收到开机广播

    本文链接:https://www.haomeiwen.com/subject/xzmbhftx.html