Android开机自动运行APP——BroadcastReceiver

  次阅读 来源:互联网(转载协议) 2016-01-13 21:55 我要评论(0)

前言:

有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service。怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以 Don't call me, I'll call you back! 总结Android框架,真是说到点子上了。理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解。

使用场景:

手机开机后,自动运行程序。

{只是最近本人在做万达大歌星点餐系统,需要用到系统启动直接启动App避免服务员玩别的app才研究的,以下分享是本人参考网络,亲自尝试成功的代码,贴出来与大家分享,希望能帮助更多的人!不懂的可以问我哦。QQ:11745405 }

背景知识:

Android启动时,会发出一个系统广播,内容为 ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED。只要在程序中 捕捉 到这个消息,再启动之即可。记住,Android框架说:Don't call me, I'll call you back。我们要做的是等到接收这个消息,而实现的手段就是实现一个BroadcastReceiver。

代码解析:

1、界面MainActivity.java

package com.example;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.*;

import android.widget.Toast;

public class MainActivity extends Activity {// 收到消息启动此Activity

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setIntegerProperty("splashscreen", R.drawable.wandapad_splash);

TextView tv = new TextView(this);

tv.setText("Hello这是MainActivity");

setContentView(tv);

}

2、接收广播消息:BootBroadcastReceiver.java

package com.example;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

/**

* Created with IntelliJ IDEA.

* User: 郏高阳

* Date: 13-6-5

* Time: 下午8:25

* To change this template use File | Settings | File Templates.

*/

public class BootBroadcastReceiver extends BroadcastReceiver {

static final String ACTION = "android.intent.action.BOOT_COMPLETED";

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(ACTION)) {

Intent mainActivityIntent = new Intent(context, MainActivity.class);// 要启动的Activity

mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(mainActivityIntent);

}

}

}

该类派生自BroadcastReceiver,覆载方法onReceive中,检测接收到的Intent是否符合BOOT_COMPLETED,如果符合,则启动MainActivity。

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...