我想在設備啓動完成後運行我的應用程序。 爲此,我發現在互聯網上的一些有用的代碼:Android自動啓動活動(應用程序啓動兩次)
public class MyBootCompleteReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if(intent.getAction() != null && intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
{
Intent pushIntent = new Intent(context, MainActivity.class);
pushIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(pushIntent);
}
}
}
而且Manifest條目:
<receiver android:name="MyBootCompleteReceiver" android:enabled="true" android:exported="false" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
現在,如果我啓動我的設備的應用程序似乎啓動兩次。 然後我嘗試用「REORDER_TO_FRONT」替換「NEW_TASK」標誌(我也在互聯網上閱讀過),但是如果我這樣做了,我的應用程序會在啓動時崩潰。 此外,如果我刪除所有標誌,它也崩潰。
希望你能幫助!
它爲什麼會崩潰?任何錯誤日誌? – 2012-02-13 13:23:46
不,不幸的是(因爲我的eclipse沒有在啓動後記錄)。 解鎖屏幕後,出現典型的黑色對話框(應用程序意外崩潰 - >強制關閉)。 – Chris 2012-02-13 13:47:10