当前位置: 首页 > news >正文

Android12 自定义系统服务

在Android中可以通过两种方式创建系统服务:

  1. 由SystemServer启动的系统服务,使用SystemServer线程资源,适合轻量级的服务,比如各种XMS服务;
  2. 占用独立进程,在系统启动时,由init进程拉起,比如SurfaceFlinger;

本文采用的是第一种方式。

自定义AssistantManagerService

参考AMS,命名为AssistantManager,功能只是打印一句日志。

首先,在 frameworks/base/core/java/android/app 中定义:

package android.app;/**
*
* {@hide}
*/
interface IAssistantManager{String testService(String msg);
}

这里需要注意,{@hide}注解必须带上,否则编译会报错!!!

其次,在 frameworks/base/core/java/android/app 下定义:

package android.app;import android.annotation.SystemService;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.os.IBinder;
import android.os.RemoteException;
import android.annotation.Nullable;
import android.os.ServiceManager;
import android.util.Singleton;@SystemService(Context.ASSISTANT_SERVICE)
public class AssistantManager{private Context mContext;/*** @hide*/public AssistantManager() {}/*** @hide*/public static IAssistantManager getService() {return IAssistantManagerSingleton.get();

相关文章:

  • Cython中操作C++字符串
  • BLUE-ANT 静电防护
  • PDX列式存储
  • HarmonyOS 5 开发环境全解析:从搭建到实战
  • 鹰角:EMR Serverless Spark 在《明日方舟》游戏业务的应用
  • 2025年4月15日 百度一面 面经
  • MongoDB入门与安装指南
  • 递归查询的应用
  • Python自动化处理奖金分摊:基于连续空值的智能分配算法升级
  • 树莓派超全系列教程文档--(26)在 Raspberry Pi 上配置热点
  • html页面打开后中文乱码
  • 【树莓派Pico FreeRTOS】-事件标志(Event Flags)与事件组(Event Groups)
  • 【SpringBoot】深入解析自定义拦截器、注册配置拦截器、拦截路径方法及常见拦截路径、排除拦截路径、拦截器的执行流程
  • 通过人类和机器人演示进行联合逆向和正向动力学的机器人训练
  • 开源智慧巡检——无人机油田AI视频监控的未来之力
  • 科普:想想神经网络是参数模型还是非参数模型
  • 首次打蓝桥杯总结(c/c++B组)
  • 无人机的群体协同与集群控制技术要点!
  • DIB:Drone in Box- 室内外场景无人机无人化自主巡检技术方案
  • FPAG IP核调用小练习
  • 青年如何打破“千人一面”,创造属于自己的文化观?
  • 蜀道考古调查阶段性成果发布,新发现文物遗存297处
  • 解放军仪仗司礼大队参加越南纪念南方解放50周年庆典活动
  • “80后”李岩已任安徽安庆市领导
  • 民政部党组成员、中国老龄协会会长刘振国任民政部副部长
  • 外交部回应美财长涉中国发展经济模式言论:损害各国人民共同利益的是美方