首页 > 代码库 > Android实现开机自启动(一)——实现接收开机广播

Android实现开机自启动(一)——实现接收开机广播

API19也就是4.4版本,用的是模拟器AVD。

操作方法如下:

1.安装apk,手动启动一次。

2.从window选项中启动AVD,不要run as application启动。

代码很简单,也贴上来给新手看看。

分三个步骤:

1.new 一个class,重写onReceive方法

2.在manifest中注册receiver。

3.授予接收系统广播的权限(3.1开始必须授予权限才可以接收系统广播)

代码如下:

 1 package com.example.testreceiver; 2  3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.util.Log; 7  8 public class MyReceiver extends BroadcastReceiver{ 9     String Tag = "Tag";10     @Override11     public void onReceive(Context context, Intent intent) {12         // TODO Auto-generated method stub13         Log.w(Tag, "you have received system msg");14         Log.i(Tag,"you have received 123system msg");15         16     }17 18 }
View Code

manifest中的配置如下

 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3     package="com.example.testreceiver" 4     android:versionCode="1" 5     android:versionName="1.0" > 6  7     <uses-sdk 8         android:minSdkVersion="19" 9         android:targetSdkVersion="21" />10 11     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />12 13     <application14         android:allowBackup="true"15         android:icon="@drawable/ic_launcher"16         android:label="@string/app_name"17         android:theme="@style/AppTheme" >18         <activity19             android:name=".MainActivity"20             android:label="@string/app_name" >21             <intent-filter>22                 <action android:name="android.intent.action.MAIN" />23 24                 <category android:name="android.intent.category.LAUNCHER" />25             </intent-filter>26         </activity>27 28         <receiver android:name="com.example.testreceiver.MyReceiver" >29             <intent-filter>30                 <action android:name="android.intent.action.BOOT_COMPLETED" >31                 </action>32             </intent-filter>33         </receiver>34     </application>35 36 </manifest>
View Code

只需要在自己的文件中注册一个receiver,以及写一个权限声明即可。

<receiver android:name="com.example.testreceiver.MyReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
</intent-filter>
</receiver>

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

Android实现开机自启动(一)——实现接收开机广播