在 BOOT_COMPLETED 上开始 Activity,没有 BroadcastReceiver

Start Activity on BOOT_COMPLETED without BroadcastReceiver

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

<activity
        android:name="MyActivity"
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
</activity>

这可能吗?以及如何?

is this possible?

没有

首先,android.intent.action.BOOT_COMPLETED是广播Intent。您不能通过 <activity><service> 清单元素响应它。

其次,android:permission="android.permission.RECEIVE_BOOT_COMPLETED 将阻止任何东西启动您的 activity,除非它 持有 RECEIVE_BOOT_COMPLETED。这不是您通常使用该特定权限的方式。