`
jsjxsy
  • 浏览: 24405 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 开机自动运行程序

阅读更多

4.Linux 内核

Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。

开机自动运行程序!

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

使用场景:手机开机后,自动运行程序,在屏幕上显示"Hello. I started!"字样。

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

代码解析:

1、界面ActivitySayHello.java

package com.ghstudio.BootStartDemo;

import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;

public class SayHello extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TextView tv = new TextView(this);

tv.setText("Hello. I started!");

setContentView(tv);

}

}

这段代码很简单,当Activity启动时,创建一个TextView,用它显示"Hello. I started!"字样。

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

package com.ghstudio.BootStartDemo;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

 

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 sayHelloIntent=new Intent(context,SayHello.class);

sayHelloIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(sayHelloIntent);

}

}

}

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

3、配置文件:AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.ghstudio.BootStartDemo"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".SayHello"

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=".BootBroadcastReceiver">

<intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED" />

</intent-filter>

</receiver>

</application>

<uses-sdk android:minSdkVersion="3" />

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

</manifest>

注意其中粗体字那一部分,该节点向系统注册了一个receiver,子节点intent-filter表示接收android.intent.action.BOOT_COMPLETED消息。不要忘记配置android.permission.RECEIVE_BOOT_COMPLETED权限。

完成后,编译出apk包,安装到模拟器或手机中。关机,重新开机。

如果是系统进程的话,需要加入init配置文件来启动,随着linux启动而启动

 

注:还有一些关于Activity之间的数据传递与Intent的具体应用、Activity的生命周期等老师的PPT上已经都有了。具体的笔试题目前只有华为有笔试题,并且也只是一般的选择题,其余公司都是一些JAVA的基础题,只会在面试的时候问一些关于Android的题,并且有的公司经常问一些关于底层C库的调用与Android隐式API的题。

分享到:
评论

相关推荐

    Android开机自动运行一个程序教程

    ### Android开机自动运行程序详解 #### 一、引言 在Android开发中,有时我们需要让应用程序在设备开机后自动启动,比如实现某些后台服务(如天气预报应用、新闻客户端等)能够在用户未手动启动的情况下自动从网络...

    Android实现开机自动运行程序

    总结,实现Android应用开机自动运行主要涉及BroadcastReceiver的使用,监听ACTION_BOOT_COMPLETED广播事件,并在接收到该事件时启动所需的服务或Activity。在Eclipse环境中,创建和调试这类应用相对简单,但需注意...

    本示例通过接收广播实现开机自动运行程序

    在Android系统中,开发者可以利用...通过分析和运行这些代码,你可以更深入地理解如何在Android应用中实现开机自动运行的功能。同时,你也可以根据自己的需求进行相应的修改和扩展,以满足不同的应用场景。

    android开机自动开启程序

    综上所述,要实现Android开机自动启动程序,需要理解并掌握Android的权限系统、广播接收器、服务以及不同Android版本的后台执行策略。同时,要考虑到用户体验和系统资源的合理利用,以提供稳定且高效的服务。

    Android安卓app 让程序开机自动运行APP.zip

    在Android系统中,让应用程序在开机时自动运行是开发者经常需要实现的功能,这通常涉及到服务(Service)、广播接收器(BroadcastReceiver)以及系统的权限管理。本文将深入探讨如何在Android中实现这一目标,并针对...

    【Android】开机自启动2

    在Android系统中,"开机自启动"是指当设备完成启动过程后,某些应用程序或服务能够自动启动并开始运行。这通常涉及到系统级别的设置和权限管理,对于开发者来说,理解和掌握这个功能是创建后台服务和持续运行应用的...

    Android开机自动运行.pdf

    在Android系统中,实现开机自动运行的应用主要涉及到广播接收器(BroadcastReceiver)和系统广播(System Broadcast)。在Android开机时,系统会发送一个名为ACTION_BOOT_COMPLETED的广播,开发者可以通过监听这个...

    Delphi下 Android 开机启动代码

    3. **开机启动**:在Android系统中,开机启动指的是应用程序在设备启动完成后自动运行。 实现步骤: 1. **创建新项目**:打开Delphi,选择"New Mobile Application",创建一个新的Android项目。 2. **添加权限**:...

    android开机自动登录

    在Android系统中,实现...以上就是实现“android开机自动登录”功能的主要步骤和涉及的技术点。在实际开发中,还需要考虑到各种异常情况的处理,如网络连接问题、服务器响应延迟等,以提供更稳定、可靠的用户体验。

    APK程序开机自动运行

    ### APK程序开机自动运行 #### 知识点概述 在Android平台上实现应用程序开机自启动是一项常见需求,尤其对于那些需要后台服务或者提醒功能的应用来说尤为重要。本文将详细讲解如何通过接收系统广播来实现这一功能...

    android动态设置开机自动启动程序

    在Android系统中,实现动态设置开机自动启动程序是一项常见的需求,尤其对于开发者和系统优化者来说,这有助于确保某些服务或应用在设备启动时能够自动运行。本文将深入探讨如何在Android平台上实现实现这一功能。 ...

    安卓开机自动启动应用程序

    本教程将详细讲解如何实现安卓开机自动启动应用程序,以及涉及到的相关知识点。 首先,我们需要理解安卓系统的启动流程。在安卓设备开机时,系统会启动一个名为"SystemServer"的进程,它负责初始化系统服务和启动...

    Delphi apk开机自动运行

    在这个特定的情境中,我们关注的是如何使用Delphi来构建一个Android应用,该应用能够在设备开机时自动运行。这涉及到Android系统的权限管理、服务(Service)以及BroadcastReceiver等关键概念。 首先,`Delphi ...

    android应用开机自启动

    在Android应用开发中,"开机自启动"是一个常见的需求,特别是在需要后台服务持续运行或者希望应用程序在用户开机后立即可用的情况下。本知识点主要讲解如何利用Android的广播接收器(BroadcastReceiver)来实现在...

    delphi ex10 android 实现开机自启动

    标题中的"Delphi EX10 Android 实现开机自启动"是指使用Embarcadero Delphi XE10(也称为 RAD Studio XE10)开发的Android应用程序,目的是使其能够在设备启动时自动运行。这个过程涉及到Android系统的权限管理和...

    Android 开机自启动程序

    总之,实现Android开机自启动程序主要涉及创建BroadcastReceiver,监听ACTION_BOOT_COMPLETED广播,并在AndroidManifest.xml中进行注册。在编写这类程序时,应遵循最佳实践,确保功能的稳定性和用户体验。

    Android 开机自动启动服务

    在Android系统中,"开机自动启动服务"(Boot Start Service)是一种常见的功能,它使得应用程序在设备启动完成后能够自动运行特定的服务。这对于那些需要后台运行的任务,如消息推送、定时任务或者数据同步等非常...

    android 开机启动DEMO

    这个"android 开机启动DEMO"旨在帮助开发者解决如何在Android设备开机时自动启动应用程序的问题。让我们深入探讨一下这个话题。 首先,我们要明白在Android中,开机启动服务通常涉及到两个关键组件:...

    android实现开机自启动以及后台运行

    首先,我们要创建一个服务,这个服务将在启动后自动运行。服务是Android应用程序组件之一,它可以在后台长时间运行,即使用户界面已经关闭。创建一个名为`AutoStartService`的服务,需要在`AndroidManifest.xml`中...

    【Android】开机自启动

    在Android系统中,"开机自启动"是指当设备完成启动过程后,某些应用程序或服务能够自动启动,无需用户手动操作。这通常涉及到Android系统的广播接收器(BroadcastReceiver)和权限设置。下面将详细讲解Android开机自...

Global site tag (gtag.js) - Google Analytics