Android开机时启动后台服务

2023-11-21

我需要始终有一个后台服务来同步我的 Android 应用程序和服务器。我知道如何通过我的应用程序启动它,但是当 Android 关闭时,后台服务就会消失。

如何才能让后台服务始终运行? (即使设备关闭然后再打开......)

我需要将我的后台服务添加到Android的stars程序中。有什么提示吗?


use <action android:name="android.intent.action.BOOT_COMPLETED" />用于在设备打开时启动您的服务。

In AndroidManifest.xml:

 <receiver android:name=".BootBroadcastReceiver" >   
            <intent-filter>   
                <action android:name="android.intent.action.BOOT_COMPLETED" />   
            </intent-filter>   
        </receiver> 

在您的中添加权限AndroidManifest.xml as:

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

在代码部分BootBroadcastReceiver:

public class BootBroadcastReceiver extends BroadcastReceiver {     
    static final String ACTION = "android.intent.action.BOOT_COMPLETED";   
    @Override   
    public void onReceive(Context context, Intent intent) {   
        // BOOT_COMPLETED” start Service    
        if (intent.getAction().equals(ACTION)) {   
            //Service    
            Intent serviceIntent = new Intent(context, StartOnBootService.class);       
            context.startService(serviceIntent);   
        }   
    }    
}   

EDIT:如果您正在谈论设备屏幕打开/关闭,那么您需要注册<action android:name="android.intent.action.USER_PRESENT" /> and <action android:name="android.intent.action.SCREEN_ON" />用于在用户存在或屏幕打开时启动您的服务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开机时启动后台服务 的相关文章

随机推荐

  • Azure 容器注册表 - 删除除 2 之外的所有映像

    我想删除 Azure 容器注册表中除最后两个之外的所有映像 我正在寻找一个脚本来执行此操作 但我发现只能删除 X 天之前的图像 这对于我的情况来说是不可能的 因为有些日子会创建很多图像 而其他日子则只有一张 有人有什么想法吗 将 skipL
  • 对象不支持属性或方法“对话框”

    参考Ajax控制工具包 我从 MVC 创建了一个 UI 对话框 布局 cshtml
  • 任务栏的 wxpython 图标

    我正在尝试在我的 wxpython 程序中设置一个图标 到目前为止 在阅读了许多页面和示例后 我能够在窗口中设置一个图标 这在使用 alt tab 时也可以使用 我正在 Windows 7 上工作 但任务栏上的图标是通常的Python默认图
  • 字符串和整数,隐式和显式

    有同事问过我这个问题 我脑子一片混乱 没有答案 为什么你可以这样做 string ham ham 4 But not string ham 4 如果您在进行字符串转换时存在隐式转换 操作连接 为什么不一样时指派它作为一个字符串 当然 不进行
  • 将.env环境变量上传到elastic beanstalk

    据我所知 将环境变量设置为 elastic beanstalk 的唯一方法是 AWS 在线控制台 The eb setenv命令 我有一个 env我的项目中包含一个包含超过 100 个变量的所有环境变量的文件 我正在寻找一种方法将它们同时推
  • 尊重 msbuild 调用的批处理文件的退出代码

    我有一个正在使用的批处理文件exit命令返回退出代码 在某些情况下 可以从命令行交互调用此批处理文件 或者在其他情况下 可以使用以下命令作为 MSBuild 项目的一部分运行Exec task 如果我使用exit errorlevel 在我
  • 在android中的activity之间传递字符串

    我已经搜索了很多地方 但还没有找到任何有效的解决方案 我真的需要帮助 我正在制作一个应用程序 需要将经度和纬度字符串从一个活动传递到另一个活动 我怎样才能做到这一点 在这里查看我的代码 LocationActivity java 需要将字符
  • 我将如何在 python 中播放闹钟声音?

    我有一个自己制作的时钟 我想把它做成闹钟 假设您使用的是 Windows import winsound winsound PlaySound alert wav 如果您使用的是 Linux 或者我相信是 Mac OS X 您可以使用 py
  • HTML 中使用 '\n' 换行

    有没有办法让HTML正确处理 n换行 或者我必须将它们替换为 br div class text abc def ghi div 这是为了在 HTML 中显示换行符和回车符 那么你不需要明确地这样做 您可以在 CSS 中通过设置空白属性 p
  • clojure 映射函数中的奇怪之处

    clojure 中的映射的第一个奇怪的事情是以下代码片段 apply map list 1 a 2 b 3 c 结果令我惊讶 1 2 3 a b c 任何人都可以解释它是如何工作的吗 apply f x y z 相当于 f x y z 所以
  • 在 PyInstaller 中找不到导入的模块

    我在 Windows 中工作 使用PyInstaller打包一个python文件 但发生了一些错误 Traceback most recent call last File
  • JDBC 使用 SELECT FOR UPDATE 锁定行,不起作用

    我遇到了 MySQL 的 SELECT FOR UPDATE 问题 这是我尝试运行的查询 SELECT FROM tableName WHERE HostName UnknownHost ORDER BY UpdateTimestamp a
  • 优化/简化路径

    假设我有一条包含 150 个节点 顶点的路径 如果这样的话 例如 具有 3 个顶点的直线将删除中间的一个 因为它不会添加到路径中 我该如何简化 另外我怎样才能避免破坏尖角 我怎样才能消除微小的变化并保留平滑的曲线 Thanks 对于每 3
  • 为什么我在使用 TStream 类时收到“抽象错误”?

    当我尝试运行以下简单的代码序列时 我得到了Abstract Error错误信息 type TForm1 class TForm Image1 TImage Button1 TButton procedure Button1Click Sen
  • Android:制作可滚动的自定义视图

    我已经滚动了自己的自定义视图 并且可以正常绘制到屏幕上 但我真正想做的是将屏幕的测量高度设置为 1000px 并让用户在 Y 轴上滚动 但我 我这样做时遇到问题 有人可以帮忙吗 这是一些代码 public class TestScreen
  • 如何在java中将.csv文件读入数组列表?

    我有一项大学作业 要求我从 csv 文件中获取数据 并以三种不同的方法读取 处理和打印它 这些说明要求我将数据读入数组列表中 我已经编写了一些代码来执行此操作 但我不确定我是否正确完成了操作 有人可以帮助我理解我应该如何将文件读入数组列表吗
  • 所有ajax请求完成后如何调用警报?

    我正在代码中使用 JQuery 发出一些请求 get 看起来像 get address1 function get address2 function get address3 function This code should be ru
  • 在 ASP.NET Core 6.0 和 7.0 上使用 Systemd

    如果你想在 Linux 上使用 systemd 托管你的 ASP 应用程序ASP NET 核心 5 你必须添加Microsoft Extensions Hosting Systemd具有此配置的 nuget 包 public class P
  • 为什么使用 foreach 时不执行此 LINQ 查询?

    在 LINQ 语句中创建新对象时 例如 var list new List
  • Android开机时启动后台服务

    我需要始终有一个后台服务来同步我的 Android 应用程序和服务器 我知道如何通过我的应用程序启动它 但是当 Android 关闭时 后台服务就会消失 如何才能让后台服务始终运行 即使设备关闭然后再打开 我需要将我的后台服务添加到Andr