起動時にAndroid2.1Galaxy S Phoneを起動しようとすると、クラッシュします。
context.startActivity(i)をコメントアウトした場合のレシーバーは、クラッシュしません。それ以外の場合は、電源投入時に表示されます。同じACTIONを使用する別のアクティビティからのstartActivityは、クラッシュを引き起こしません。これはブート中のようです。
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent();
i.setAction("DISPLAY_FIRSTPAGE");
context.startActivity(i);
}
}
マニフェストに次のようにレシーバーを設定します。
<receiver android:name=".MyBroadcastReceiver">
android:enabled="true" android:exported="false"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>