`

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>

 java

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

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

    Android service开机自动启动

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

    【Android】开机自启动Service

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

    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系统的权限管理和...

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

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

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

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

    android开机启动service

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

    Service开机自动启动

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

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

    在Android平台上,实现应用的开机自启动和后台运行是一项常见的需求,这通常涉及到服务(Service)、广播接收器(BroadcastReceiver)以及系统权限的管理。在本文中,我们将深入探讨如何在Android 2.1及以上版本中...

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

    通过以上步骤,我们已经成功实现了在Android设备上开机自启动一个应用的功能。需要注意的是,为了提高用户体验和设备性能,开发者应该谨慎使用此类功能,并确保遵循Android的最佳实践指南。此外,对于不同版本的...

    Android学习之Service开机启动

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

    Android 开机自动启动一个程序

    在Android系统中,实现开机自动启动一个程序,通常涉及到服务(Service)、BroadcastReceiver(广播接收器)以及AlarmManager等组件的使用。以下将详细介绍如何在Android应用中设置开机启动一个Activity并发送通知。 1....

    android 开机启动DEMO

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

    Android应用开机时自动启动

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

Global site tag (gtag.js) - Google Analytics