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     @Override
11     public void onReceive(Context context, Intent intent) {
12         // TODO Auto-generated method stub
13         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     <application
14         android:allowBackup="true"
15         android:icon="@drawable/ic_launcher"
16         android:label="@string/app_name"
17         android:theme="@style/AppTheme" >
18         <activity
19             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>  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。