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 }

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>

只需要在自己的文件中注册一个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>

时间: 2024-11-05 15:45:23

Android实现开机自启动(一)——实现接收开机广播的相关文章

Centos6.8下设置gitlab服务开机自启动,关闭防火墙开机自启动

一. 本地虚拟机的缺点 本地虚拟机虽然也可以模拟服务器用,但电脑不能保证24小时都是开机的,一旦关机,服务就失去了连接,你将看到我们之前搭建的gitlab服务出现如下画面: 本地电脑7*24小时不关机是不现实的,但是可以保证,一旦虚拟机启动,服务也响应启动,而不是服务启动了,发现防火墙开机自启了,本地去访问gitlab时被拦截了,当关闭防火墙,又发现gitlab服务不是开机自动启动的,还需要手动敲一遍命令: gitlab-ctl start 这显然是不合理的,下面我们谈谈如何开闭防火墙开机自启动

Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务

情景概要:自己做的一个项目的时候,或得不到开启启动的通知,这样更别说开机启动通知里面实现开机服务功能了,查找了N多资料,说法不一,太多的人说4.0之后无法获得开机通知,通过各种渠道,各种大牛的方式仍然是那些N多人说不可行的方法,即使大牛给的是英文文档也是说这样可以的. 最后发现,开启启动通知已经实现了,但是自己的疏忽没有发现,我通过在通知里面弹出一个Toast,但是真机或者模拟器在开机的时候都需要很多启动项,导致最后的Toast弹出很晚,而自己却没看见.你可以在通知里面弹出10个以上的Toast

Linux下Tomcat的搭建以及开机自启动设置

首先进行下JDK的配置: 1.查看下系统信息,确认是32位还是64位:uname -a 2.下载相应位数的jdk压缩包,传到Linux系统,这里提供一个32位和64位的下载链接:http://pan.baidu.com/s/1i5HXQex 密码:y0on 3.进入放置JDK压缩包的目录下,ls 查看文件 4.解压到/opt下:tar -zxvf 压缩包名 -C /opt/ 5.配置环境变量,修改etc下的profile文件:vim /etc/profile 定位到文档末尾:G 加上如下几行:

supervisord安装,启动/关闭,添加开机自启动服务

centos7安装supervisord #yum -y install supervisor 安装路径/usr/bin/supervisord,配置文件/etc/supervisor.conf 一.手动启动/关闭 supervisor手动启动: #/usr/bin/supervisord -c /etc/supervisor.conf supervisor手动关闭: #/usr/bin/supervisorctl stop all    先关闭supervisor启动脚本,之后再关闭super

C#实现软件开机自启动原理与代码

1.软件自启动原理 软件自启动的原理要从Windows的注册表聊起,在Windows操作系统下,主要有2个文件夹和8个注册表键项控制程序的自启动,这部分的详细介绍可以参看博客http://www.cnblogs.com/fukajg/archive/2012/08/10/2631250.html.本程序通过“Run”键值实现,Run键值是自启动程序最常见的地方.它的位置在[HKEY_CURRENT_USER\Softvvare\Microsoft\Windows\CurrentVersion\R

RedHat 下设置oracle开机自启动

进入root用户进行如下操作 1.查看oracle安装目录 [[email protected] db_1]# pwd /u01/app/oracle/product/11.2.0/db_1 2.查看数据库实例名 [[email protected] db_1]# echo $ORACLE_SID ORADB 3.修改配置文件 3.1.开机启动数据库: "/etc/oratab"文件是由数据库安装时运行的root.sh(该文件位于oracle的安装目录下)文件创建的.如果没有该文件,则

Kali Linux SSH 开机自启动、Apache启动

Kali 的一些指令类似Ubuntu,例如apt-get. 因此对系统的配置也可参考Ubuntu. [安装中文输入法] apt-get update apt-get install fcitx apt-get install fcitxpinyin [SSH 开机自启动] Kali Linux 在开机后默认是不启动SSH服务的.我安装了一台没有显示器的Kali ,因此就需要电脑在开机后能够自启动SSH服务.经过网上查找,可以在 vi /etc/rc.local  文本编辑,输入以下内容,存档即可

linux开机自启动tomcat

开机自启动Tomcat: 每次开机都要启动tomcat,直接修改系统文件来实现,已实践方法有效. 1.修改脚本文件rc.local:vim /etc/rc.d/rc.local 这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令 2.添加如下内容: export JAVA_HOME=/opt/jdk1.8.0_65  #你的jdk路径 /opt/tomcat包名/bin/startup.sh     #tomcat下startup.sh文件的路径 3.e

Linux下设置svn开机自启动

方式一:centos 7 设置svn开机自启动 使用新的systemctl 服务命令  (笔者成功验证过,该方式可行) [[email protected] init.d]# vi /lib/systemd/system/svnserve.service   [[email protected] init.d]# vi /etc/sysconfig/svnserve   [[email protected] init.d]# systemctl enable svnserve.service  

centos6 chkconfig的原理 和添加开机自启动的办法

当我们使用 chkconfig --list的时候 都会又 123456 这样的级别. 当某个级别是 on 他就会开机启动,当他是off 的时候他就不会开机自启动. 那么这是什么原因呢?他的 原理是什么? 查看chkconfig的结果: 思考 为什么 我们设置了3级别 on 他就会开机自启动呢? 还记得开机自动的级别吗? 我们默认使用的什么级别呢? 我们默认启动的是 /etc/rc.d/rc3.d/ 这里面的所有的脚本 拿 sshd 为例子: 我们看看开机启动的 rc3.d 中的脚本 我们现在看