`
veryEdu
  • 浏览: 17935 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

android开机启动服务v1.0

 
阅读更多
这是个很简单的过程,这个不像pc机得开机启动,要有精确的内存地址,这里所谓的简单是跟pc机得开机启动相比。android系统的宗旨说的是,不要来找我,我会来找你。
  Activity好像是应用程序的眼睛,用眼神与用户交流而用户则用手指头告诉Activity我想要什么。BroadcastReceiver好比android程序的耳朵,接受来自各方的Intent。Service好比android应用程序的手,正确完成耳朵接收到得消息,最后,我 来 组 成 头 部。虽然本人只对Activity是眼睛这句话有深刻的理解,剩下两句没有第一句感觉那么精辟,但是直觉三句话都很精辟所以从书上抄下来了。
  过程是这样的,当所有的android系统服务启动完成以后,会像发传单一样像外面散布消息,这个过程就是广播,我们需要做的就是去捕捉这个系统启动完成的消息,捕捉到这个消息以后,该启动Activity就启动Activity,该启动服务就启动服务,最好的办法就是实践。
  为了更好的理解这个过程,先按部就班的开始,以后玩熟练了想横着玩就横着玩想竖着玩就竖着玩。
  创建好了工程项目之后,定义一个广播类,继承自BroadcastReceiver,这个类得作用就是捕捉到系统发出的消息以后做的事情代码都写在这个类里面,捕捉系统消息只需只需在AndroidManifest.xml文件中添加两个元素就可以。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"      
    package="com.fly" android:versionCode="1" android:versionName="1.0">      
    <application android:icon="@drawable/icon" android:label="@string/app_name">      
        <activity android:name=".BootSayHello" 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=".BootReceiver">      
            <intent-filter>      
                <action android:name="android.intent.action.BOOT_COMPLETED" />      
            </intent-filter>      
        </receiver>      
    </application>      
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>      
    <uses-sdk android:minSdkVersion="7" />      
</manifest>
  

这是全部的xml文件,intent-filter用于过滤需要捕捉什么类型的系统消息,<receiver android:name=".BootReceiver">  这句是自己定义的广播类得类名,最后,还要取得权限允许捕捉系统消息<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> 这句话就这个意思。
  再回到刚才定义的继承自BroadcastReceiver类:
 public class BootBroadcastReceiver extends BroadcastReceiver {      
   public static final String ACTION = "android.intent.action.BOOT_COMPLETED";   
       
    @Override      
    public void onReceive(Context context, Intent intent) {   
           
        // TODO Auto-generated method stub      
        if (intent.getAction().equals(ACTION)) {    
            Log.d("TAG","ok");   
             
        }      
    }      
}     


if条件里面:如果接收到的消息是我们刚才在xml文件中定义的消息,那么就打印"ok",这两个步骤做完了,就可以启动模拟器测试了。这里为了便于扩展,所以只打印“ok”。
分享到:
评论

相关推荐

    展锐Android11.0开机启动流程介绍V1.0-nowatermark

    Android 11.0 开机启动流程介绍 本文档对 Android 11.0 平台开机启动流程进行了详细的介绍,涵盖了 Android 架构图、系统启动流程、init 启动流程、Zygote 启动流程、System Server 启动流程等关键部分。 Android ...

    V40 Android定制化文档V1.0

    V40 Android定制化文档V1.0,这份文档是关于在Android平台上对V40产品进行定制化开发的详细说明。V40可能是一种面向智能后视镜产品的名称,而文档内容主要涉及如何在Android系统上进行定制化的开发工作,包括模块的...

    Android中实现开机自动启动服务(service)实例

    接下来,为了实现开机启动服务,我们需要创建一个BroadcastReceiver,即`ServiceReceiver`,该接收器会监听`ACTION_BOOT_COMPLETED`广播,当系统完成启动时,它会启动我们的服务: ```java package hev.socks5; ...

    Android11.0最新Framework解析

    Android11.0 系统分析 Android11.0 启动分析 Android11.0 最新Framework解析 Android11.0 Binder通信原理

    Android 11.0 添加以太网设置

    android

    Android_开发参考手册_V1.0

    这份《Android_开发参考手册_V1.0》提供了详尽的指南,覆盖了从操作系统安装、编译环境搭建、构建流程、问题解决到产品配置的各个环节,对于Android开发者来说是一份宝贵的资源。通过遵循手册中的指导,开发者可以更...

    382479234248551华为ec6108v9a刷纯净版v1.0.zip

    标题 "382479234248551华为ec6108v9a刷纯净版v1.0.zip" 暗示这是一个针对华为EC6108V9A设备的固件升级包,版本号为v1.0,并且强调了“纯净版”,意味着该版本可能去除了不必要的第三方应用和服务,旨在提供一个无...

    迅为电子开发板入门实验手册_v1.0.pdf

    迅为电子开发板入门实验手册是一份针对新手的嵌入式开发板使用教程,它涉及了从开发板的基本操作到软件环境的配置,以及Linux操作系统的烧写和使用,还涉及到了QT和Android开发等内容。这本手册是为那些希望学习...

    周工作报告-20110808~201108141

    在周五(8月12日),团队开始编写《Android系统界面定制调研报告》v1.0版本和《可行性分析报告》v1.0版本。这两份报告旨在深入理解现有的Android系统界面定制技术,并结合中兴的具体需求,探索在没有源代码支持的...

    华为手机线刷工具_v2.1.rar

    3. **无法开机**:刷机后手机无法正常启动,可能是固件不匹配或刷机过程中出错,此时需寻求专业帮助或再次尝试刷机。 总之,华为手机线刷工具_v2.1是华为用户进行系统维护和个性化定制的重要工具,但操作时务必谨慎...

    安卓调谐器 v1.0.1.zip

     - 查看并管理开机启动项目、设置自定义程序开机自启  - 支持最大4*6面板的专家模式,便于打开想要的功能  - 开启/关闭 APN、 蓝牙发现、 GPS 和 WiFi本地化  - 可测试和调整SD卡读取速度,支持内存详细分析 ...

    09armcoreevb软件a31a31sandroid44快速移植指南sdkv.docx

    - **init.sun6i.rc**:初始化脚本,用于设置启动时的服务和进程。 - **vbld.fsiab**:配置文件,用于定义引导加载程序的参数。 - **storage_list.xml**:配置文件,用于定义存储设备的列表和参数。 - **fiber-xxx.mk...

    GenY-DualBOOT

    “Gen.Y DualBOOT v1.0.5.0-CAB”是软件的实际安装文件,格式为CAB,这是Windows Mobile设备上常见的安装包格式。 在实际使用中,用户可能需要先备份重要的数据,因为安装新的操作系统可能会覆盖或影响现有的设置。...

    android程序编写及调试新手入门.pdf

    - Android SDK 1.0_r2或更高版本 - Eclipse JEE Ganymede SR1 或 Eclipse 3.3 版本 - WTP-WST (Web Tools Platform - Web Standard Tools) 3.0.4 或更高版本 - JDK (Java Development Kit) 6u11 或更高版本 ###...

    mstar tv 客户开发指导书

    文档的修订历史记录显示,当前版本为V1.0,初始发布时间为2015年4月21日。表格内容目录详细罗列了文档的所有章节标题和子标题,方便读者快速定位所需信息。 在MStar TV系统架构部分,首先介绍了Pure Supernova系统...

    adb1.0.26包含fastboot.exe

    有的设备,比如小米 5S + MIUI 8.0 + Android 6.0.1 MXB48T,可能在第 5 步之前需要重启 adbd 服务,在设备的终端模拟器上运行: restart adbd 如果 restart 无效,尝试以下命令: start adbd stop adbd 应用管理 ...

    泛泰A850刷机软件

    2. **下载刷机工具**:在这个案例中,提供的文件名“TWRP_v2.4.1.0_CN_IM850”是Team Win Recovery Project(TWRP)的一个版本,这是一个非常流行的第三方恢复程序,用于安装新的系统映像。TWRP提供了图形化的用户...

    计步器的实现

    android计步器的实现,自定义的一个弧形进度条,记步通过手机的传感器来实现,也就是说不支持传感器的机子(应该很老的了吧)就没有效果。看看效果图: 这里写图片描述这里写图片描述 自定义View public class ...

Global site tag (gtag.js) - Google Analytics