Search code examples
androidandroid-studiobroadcastreceiverandroid-broadcast

Start Activity on BOOT_COMPLETED without BroadcastReceiver


I know that I can start activity on boot by calling it from a BroadcastReceiver but what if I wanted to do the following:

<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? and how?


Solution

  • is this possible?

    No.

    First, android.intent.action.BOOT_COMPLETED is a broadcast Intent. You cannot respond to it via an <activity> or <service> manifest element.

    Second, android:permission="android.permission.RECEIVE_BOOT_COMPLETED will prevent anything from starting your activity, unless it also holds RECEIVE_BOOT_COMPLETED. That is not how you usually use that particular permission.