2011-10-05 100 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

相关问题