1、修改AndroidManifest.xml文件
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application ...> <service android:name="com.neohope.android.service.NService" android:enabled="true" android:exported="true" > </service> <receiver android:name="com.neohope.android.receiver.NBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> </application>
2、新增服务类
package com.neohope.android.service; import android.app.Service; import android.content.Context; import android.content.Intent; public class NService extends Service { public NService() { } @Override public void onCreate() { mainThread = new WorkThread (); mainThread.start(); } @Override public void onDestroy() { mainThread.bEnd = true; } class WorkThread extends Thread { private int nInterval = 1000*60; private boolean bEnd = false; public JsonReaderThread() { } @Override public void run() { while(!bEnd) { DoSomething(); try { Thread.sleep(nInterval); } catch (InterruptedException e) { Log.w("", ""); } } } private void DoSomething() { } }
3、新增广播处理类
package com.neohope.android.receiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import com.neohope.android.service.NService; public class NBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent startServiceIntent = new Intent(context, NService.class); context.startService(startServiceIntent); } }
4、在Activity中添加启动代码
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); doStartService(); } public void doStartService() { Context context = getApplicationContext(); Intent startServiceIntent = new Intent(context, NService.class); context.startService(startServiceIntent); }