2016-02-05 150 views
0

我有一個recieverAndroid應用程序不啓動在系統啓動

public class MyBroadcastReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     Intent myStarterIntent = new Intent(context, MainActivity.class); 
     context.startActivity(myStarterIntent); 
    } 
} 

,並修改了AndroidManifest.xml中,加上幾行

<receiver 
    android:enabled="true" 
    android:name=".MyBroadcastReceiver" 
    android:permission="android.permission.RECEIVE_BOOT_COMPLETED" 
    android:exported="true"> 

    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"/> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 

</receiver> 

節。 該應用程序仍然不啓動系統啓動..任何想法讚賞。至少我如何監控什麼設備重啓後怎麼回事(因爲我不能只是使用斷點在這種情況下)

回答

1

你需要從BroadcastReceiver開始活動時提供Intent.FLAG_ACTIVITY_NEW_TASK標誌。

Intent myStarterIntent = new Intent(context, MainActivity.class); 
myStarterIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(myStarterIntent); 

This是你如何測試BroadcastReceiver

+0

我敢打賭,你是對的...但沒有logcat的日誌只是一個盲目的猜測 – Selvin

+0

@Selvin是的,這是正確的。 –

+0

謝謝,那是需要的行 –

相關問題