android 开机启动程序
16lz
2021-12-04
做一个android开机就会自动启动的程序,该程序只要启动一次,以后开机就会自动启动,直到删除该程序。
android开机事件会发送一个叫做Android.intent.action.BOOT_COMPLETED的广播信息。只要我们接收这个action并在receiver中启动我们自己的程序就可以实现了。
具体实现如下。
先建一个简单的activity:
Hello.java
public class Hello extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }}
然后设置一个receiver接收系统发出的广播消息
StartupReceiver.java
public class StartupReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubIntent i = new Intent(context,Hello.class);i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//将intent以startActivity传送给操作系统context.startActivity(i);}}
然后在AndroidManifest.xml中添加
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mzz.startup" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Hello" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity><receiver android:name=".StartupReceiver"><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /><category android:name="android.intent.category.HOME" /></intent-filter></receiver> </application> <uses-sdk android:minSdkVersion="8" /></manifest>
这样启动了一次该程序之后,以后开机就会自动启动该程序了。
更多相关文章
- Android总结篇系列:Android广播机制
- Android(安卓)L添加kk版的OOBE开机向导
- 【android】Android(安卓)Wi-Fi Direct 开发指南
- [置顶] Android:Android面试准备一
- Android(安卓)首次开机优化
- Android核心基础(七)
- android学习日记之broadcast
- android 基础学习(5)-----Android(安卓)Broadcast机制
- 详解Android短信的发送和广播接收实现短信的监听