1.首先开机启动后系统会发出一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED,这个Action只会发出一次。
2.构造一个IntentReceiver类,重构其抽象方法onReceiveIntent(Context context, Intent intent),在其中启动你想要启动的Service。
3.在AndroidManifest.xml中,首先加入 来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,在其中加入 ,以使其能捕捉到这个Action。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name=".OlympicsReceiver" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
public class OlympicsReceiver extends IntentReceiver
{
/*要接收的intent源*/
static final String ACTION = "android.intent.action.BOOT_COMPLETED";
public void onReceiveIntent(Context context, Intent intent)
{
if (intent.getAction().equals(ACTION))
{
context.startService(new Intent(context,
OlympicsService.class), null);//启动倒计时服务
Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG)
.show();
}
}
}
注意:现在的IntentReceiver已经变为BroadcastReceiver,OnReceiveIntent为onReceive。所以java这边的代码为:
(也可以实现应用程序开机自动启动)
public class OlympicsReceiver extends BroadcastReceiver
{
/*要接收的intent源*/
static final String ACTION = "android.intent.action.BOOT_COMPLETED";
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(ACTION))
{
context.startService(new Intent(context,
OlympicsService.class), null);//启动倒计时服务
Toast.makeText(context, "OlympicsReminder service has started!", Toast.LENGTH_LONG)
.show();
//这边可以添加开机自动启动的应用程序代码
}
}
}
分享到:
相关推荐
这里会讲解如何启动新的Activity,以及使用Intent传递数据。 **day05**可能涉及到的是Android的生命周期管理和进程状态,如onCreate()、onStart()、onResume()、onPause()、onStop()和onDestroy()等方法。同时,...
根据谢彦于2010年的Android笔记,我们可以总结出一系列关于Android开发的重要知识点,涵盖了系统配置、基本概念、程序开发、以及Android架构层分析等多个方面。以下是对这些知识点的详细说明: ### 1. 系统配置 ###...
11. **BroadcastReceiver**:广播接收器用于监听并响应系统或自定义广播事件,如开机启动、网络状态变化等。 12. **Fragment**:Fragment是UI组件的一部分,可以添加到Activity中,帮助构建可重用的模块化界面,...
当用户打开应用或切换到新的界面时,就会启动或激活相应的活动。 2. **服务(Service)**:在后台运行,不与用户界面交互。服务常用于执行长时间运行的任务,如音乐播放或网络通信。 3. **广播接收器(Broadcast ...
### Android学习笔记知识点总结 #### 1. 入门实例剖析 **预备知识:** - 搭建Android开发环境。 - 尝试编写“Hello World”应用。 - 熟悉Android的基本概念。 - 掌握Android API的使用。 **程序入口点:** 在...
Service是Android中的后台运行组件,用于执行长时间运行的操作,如同步数据或播放音乐。在记事本应用中,可能有需要在后台运行的服务,例如定时自动保存记事或者在后台同步到云端。Service虽然没有用户界面,但可以...
【Android开发教程笔记完全版.zip】是一个集合了全面的Android开发知识的学习资源,包含了源码、论文、参考资料和学习资料,对于那些正在进行毕业设计、课程设计或者想要深入学习Android开发的人来说,这是一个非常...
**定义**:Intent是一种消息,用于启动Activity、Service或Broadcast Receiver。 **用途**: - **启动Activity/Service**:通过显式Intent指定目标。 - **发送广播**:通过隐式Intent发送广播。 **示例**:用户...
Intent是Android中组件间通信的主要方式,它可以用来启动Activity、启动Service、发送Broadcast等。比如在`IntentExample.java`中,我们可以创建一个Intent来启动新的Activity,传递数据,或者启动Service执行后台...
BroadcastReceiver可以监听系统或应用内的事件,如系统启动或接收到特定消息时自动执行操作;ContentProvider则可能用于存储和共享笔记数据。 在源码中,我们可以看到小米便签应用如何实现这些组件: 1. **...
Android系统开发笔记概要 本文档记录了Android系统开发的整个过程,从搭建Android开发环境到Android系统的架构、Android应用基础、Android系统基础、全志平台源码目录结构、Android启动流程、全志平台编译流程、...
- **广播接收器(Broadcast Receiver)**:用于接收并响应系统范围的事件,如开机启动。 - **内容提供者(Content Provider)**:共享关系数据,如联系人数据库。 - **仪器(Instrumentation)**:主要用于测试,较少见。 ...
BroadcastReceiver监听系统或应用广播事件,如开机启动、网络状态改变等;ContentProvider则作为数据共享的桥梁,使得不同应用间能安全地交换数据。 其次,"java"标签揭示了源码的核心编程语言。Java在Android开发...
Intent则用于在不同的组件间进行通信,如启动Activity或Service。理解它们的工作原理和如何创建及管理Activity是学习Android开发的重要步骤。 3. **布局设计**:XML布局文件用于定义应用的用户界面。你将学习线性...
在Android系统中,一个应用由多个组件构成,包括Activity(活动)、Service(服务)、BroadcastReceiver(广播接收器)和ContentProvider(内容提供者)。小米便签也不例外,它也遵循这样的架构模式。源码中的Notes...
5. **系统启动流程**:从Zygote进程的孵化,到SystemServer的初始化,再到第一个Activity的启动,这一系列步骤揭示了Android设备如何从开机到运行应用。 6. **权限管理系统**:Android的权限模型是保障用户隐私和...
2. **服务组件**:详述系统服务,如Activity Manager(活动管理器)、Content Provider(内容提供者)、Broadcast Receiver(广播接收器)、Service(服务)等,以及它们在Android中的角色和工作原理。 3. **Intent...
学习安卓系统,除了理解其基本概念和关键组件,还需要熟悉开发环境的搭建,如安装Android Studio,掌握Java或Kotlin编程语言,理解安卓应用程序架构(Activity、Service、BroadcastReceiver等),以及XML布局设计。...