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

Android 让一个Service开机自动启动

阅读更多

1.首先开机启动后系统会发出一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED,这个Action只会发出一次。

2.构造一个IntentReceiver类,重构其抽象方法onReceiveIntent(Context context, Intent intent),在其中启动你想要启动的Service。

3.AndroidManifest.xml中,首先加入<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>来获得BOOT_COMPLETED的使用许可,然后注册前面重构的IntentReceiver类,在其<intent-filter>中加入<action android:name="android.intent.action.BOOT_COMPLETED" /> ,以使其能捕捉到这个Action。

一个例子
xml:

 

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<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();
            //这边可以添加开机自动启动的应用程序代码
        }
    }
}
 
分享到:
评论

相关推荐

    【Android】开机自启动Service

    当设备启动时,我们有时希望某些Service能够自动启动,以便立即开始执行预定的任务,这就是所谓的“开机自启动Service”。本文将深入探讨如何在Android中实现开机自启动Service。 首先,我们要明白Android系统的...

    Android service开机自动启动

    本项目"Android service开机自动启动"提供了一个示例,演示了如何创建这样的服务,并确保其在Android 4.0(Ice Cream Sandwich)及更高版本上完美运行。 一、服务基础 1. 创建服务:首先,你需要创建一个继承自`...

    Android 开机自动启动一个Service

    Google在更新Android8.0后对Service的...导致目前想要启动服务必需实现服务的前台化,打开应用才能顺利启动service,否则在服务启动5秒后,系统将自动报错,会弹出一个提示窗口。实际测试得系统的app才能启动service。

    Android应用开机自动启动

    本篇将详细讲解如何实现Android应用的开机自动启动。 一、Android广播接收器(BroadcastReceiver) 开机自动启动的关键在于使用`BroadcastReceiver`来监听系统的`ACTION_BOOT_COMPLETED`广播,这个广播在系统完成...

    android开机自动启动service例子

    在Android系统中,服务(Service)是一种用于在后台执行长时间运行操作而不提供用户界面的应用组件。...以上就是关于Android开机自动启动Service的一个基本例子,你可以根据实际需求对其进行扩展和调整。

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

    还是做成一个 apk 吧,暂定只写一个 service 并开机自动启用,无 activity 的。 Java 中调用 native 程序我选择使用 JNI 方式,直接在 JNI_OnLoad 方法中调用 pthread_create 创建个线程跑原来的 main 就行啦。 ...

    android应用开机自启动

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

    Android 开机自启动应用

    在Android系统中,开机自启动应用是指当设备完成启动过程后,系统会自动运行的一类应用程序。这些应用通常会在用户无须手动干预的情况下执行特定任务,例如同步数据、推送通知或者进行后台服务的初始化。"BOOT_...

    delphi ex10 android 实现开机自启动

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

    Android8.1-如何开机自启动WiFi-Adb连接.pdf

    开机自启动 WiFi-Adb 连接服务可以使得 Android 设备在开机后自动启动 WiFi-Adb 连接服务,从而实现无线连接和调试。 实现开机自启动 WiFi-Adb 连接服务需要三个步骤:编写脚本、编译脚本到系统中和配置 init.rc ...

    Android实现开机自动启动Service或app的方法

    本文实例讲述了Android实现开机自动启动Service或app的方法。分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动...

    【Android studio】service在app直接退出下,整体输出情况,实现开机自启动,一直后台运行

    本话题将深入探讨如何在Android Studio中创建和管理Service,使其在应用退出后仍能继续运行,并实现开机自启动,以保持应用的后台存活。 一、Service基础 1. 创建Service: 在Android Studio中,可以通过右键项目 -...

    android应用程序开机启动

    Android应用程序可以实现开机时启动相关应用 如service等 Android系统在开机启动时会发出一个系统广播&quot;android intent action BOOT COMPLETED&quot; 在接收到这个广播就可以实现开机自启动功能 下面就是一个...

    android开机启动service

    在Android系统中,"开机启动service"是指一种机制,允许应用程序在设备启动完成后自动启动一个服务(Service)。这种功能常用于需要在后台持续运行的任务,例如闹钟、定时任务或者同步服务等。以下是对如何实现...

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

    总结起来,要在Android上实现开机自启动和后台运行,你需要创建一个服务,一个广播接收器,并处理好权限问题。同时,考虑到Android系统的电源管理特性,你可能还需要采用适当的策略来保证服务在后台的持续运行。请...

    Service开机自动启动

    ### Service开机自动启动 #### 背景与概念 在Android平台上,为了提供持续的服务或者后台操作,开发者经常需要利用Service组件。Service是四大组件之一,它可以执行长时间运行的操作,并且不需要用户界面。有时,...

    Android学习之Service开机启动

    ### Android学习之Service开机启动详解 #### 一、引言 在Android开发中,有时我们需要让应用程序中的某个服务(Service)在设备启动时自动运行,例如进行后台数据同步、监控某些变化等。为了实现这一需求,可以...

    Android应用开机时自动启动

    本篇将深入讲解如何实现Android应用的开机自启动,并提供一个名为BootupDemo的示例代码作为参考。 首先,理解Android系统的启动流程是关键。当设备开机或恢复到激活状态时,系统会执行一系列初始化操作,其中包括...

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

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

Global site tag (gtag.js) - Google Analytics