Android入门笔记之开机程序自启动
2013-09-13 22:24
357 查看
<1>简介
研究下如何开机自动启动。
<2>关键步骤
使用一个类MyStartupReceiver继承BroadcastReceiver来监听android的系统启动时发出的系统广播信息android.intent.action.BOOT_COMPLETED,然后启动myService.class这个Service。然后在前台启动一个activity,连接到那个service,如果能连接上说明该service已开机启动。
<3>出现的问题
无
<4>代码及解释
AndroidManifest.xml:
autoStartActivity.java:
myService.java:
MyStartupReceiver.java:
研究下如何开机自动启动。
<2>关键步骤
使用一个类MyStartupReceiver继承BroadcastReceiver来监听android的系统启动时发出的系统广播信息android.intent.action.BOOT_COMPLETED,然后启动myService.class这个Service。然后在前台启动一个activity,连接到那个service,如果能连接上说明该service已开机启动。
<3>出现的问题
无
<4>代码及解释
AndroidManifest.xml:
<receiver android:name="com.test.BroadReceiver"> <intent-filter > <action android:name="gmj"/> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </receiver> <receiver android:name="com.service.MyStartupReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>
autoStartActivity.java:
public class autoStartActivity extends Activity{ /** * @ProjectName: [androidtest] * @Package: [com.service.autoStartActivity.java] * @ClassName: [autoStartActivity] * @Description: * @Author: [gmj] * @CreateDate: [2013-9-11 下午11:34:57] * @Version: [v1.0] */ ServiceConnection sc; OnClickListener listener; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_service); sc=new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { // TODO Auto-generated method stub } @Override public void onServiceDisconnected(ComponentName name) { // TODO Auto-generated method stub } }; listener=new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(autoStartActivity.this,myService.class); switch(v.getId()) { case R.id.serviceStart://Start Service startService(intent); break; case R.id.serviceStop://Stop Service stopService(intent); break; case R.id.serviceBind://Bind Service bindService(intent,sc,BIND_AUTO_CREATE); break; case R.id.serviceUnBind://Unbind Service unbindService(sc); break; } } }; this.findViewById(R.id.serviceStart).setOnClickListener(listener); this.findViewById(R.id.serviceStop).setOnClickListener(listener); this.findViewById(R.id.serviceBind).setOnClickListener(listener); this.findViewById(R.id.serviceUnBind).setOnClickListener(listener); } }
myService.java:
public class myService extends Service{ TaskThread task; /** * @ProjectName: [androidtest] * @Package: [com.service.myService.java] * @ClassName: [myService] * @Description: * @Author: [gmj] * @CreateDate: [2013-9-8 上午9:29:22] * @Version: [v1.0] */ @Override public IBinder onBind(Intent arg0) { // TODO Auto-generated method stub Log.d("MyService", "=========onBind========="); return null; } @Override public boolean onUnbind(Intent arg0) { Log.d("MyService", "=========onUnbind========="); return super.onUnbind(arg0); } @Override public void onRebind(Intent arg0) { super.onRebind(arg0); Log.d("MyService", "=========onRebind========="); } @Override public void onCreate() { super.onCreate(); Log.d("MyService", "=========onCreate========="); task = new TaskThread(); task.start(); } @Override public void onDestroy() { super.onDestroy(); Log.d("MyService", "=========onDestroy========="); task.flag = false; } }
MyStartupReceiver.java:
public class MyStartupReceiver extends BroadcastReceiver{ @Override public void onReceive(Context arg0, Intent arg1) { // TODO Auto-generated method stub Intent intent=new Intent(arg0,myService.class); arg0.startService(intent); } }
相关文章推荐
- 【Android】【笔记】《Android 入门经典》part 5 程序调试
- Android之ContentProvider跨程序共享数据入门(笔记一)
- android实现程序开机自启动
- android程序开机自启动
- Android开机自启动程序
- Android下开机自启动C程序
- Android笔记之 开机自启动
- Android开机自启动程序
- Android 开机自启动程序的实现
- Android (BroadcastReceiver与程序的开机自启动)
- Android::开机自启动C程序
- Android实现开机自启动某个程序
- Android开机自启动程序
- Android之ContentProvider跨程序共享数据入门(笔记二)
- Android开机自启动程序
- Android (BroadcastReceiver与程序的开机自启动)
- Android开机自启动程序
- Android::开机自启动C程序【转】
- Android 开机自启动程序
- Android实现开机自启动某个程序