在没有 BroadcastReceiver 的情况下在 BOOT_COMPLETED 上启动 Activity

Ham*_*dia 1 android broadcastreceiver android-broadcast android-studio

我知道我可以通过从 BroadcastReceiver 调用它来启动启动活动,但是如果我想执行以下操作怎么办:

<activity
        android:name="MyActivity"
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

这可能吗?如何?

Com*_*are 5

这可能吗?

不。

首先android.intent.action.BOOT_COMPLETED是广播Intent。您无法通过<activity><service>清单元素对其进行响应。

其次,android:permission="android.permission.RECEIVE_BOOT_COMPLETED将阻止任何事情开始您的活动,除非它包含RECEIVE_BOOT_COMPLETED. 这不是您通常使用该特定权限的方式。