2011-10-05 81 views

回答

22

添加到AndroidManifest.xml中:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

<service android:name=".YourService" /> 

<receiver android:name="com.your.package.AutoStart"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

創建類AutoStart.java:

public class AutoStart extends BroadcastReceiver 
{ 

    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     Intent startServiceIntent = new Intent(context, YourService.class); 
     context.startService(startServiceIntent);  
    } 

} 
+1

但是否該廣播接收器開始接收一旦設備完成引導廣播,而不需要運行應用?如果是,廣播接收機何時會被註冊? – Adham

+2

是的,當設備啓動時,操作系統會調用你的AutoStart.onReceive()方法。請注意,這可能是在SD卡安裝之前。當您安裝apk時,系統會查看您的清單,並且您的應用程序將在系統中註冊,以便您在啓動時啓動。 – ciscogambo