当前位置: 首页 > 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核调用小练习
  • 我国科研团队发布第四代量子计算测控系统
  • 机关食堂向游客开放的重庆荣昌区,“消费市场迎来历史性突破”
  • 解放军仪仗司礼大队仪仗分队参加纪念苏联伟大卫国战争胜利80周年阅兵活动
  • 马丽称不会与沈腾终止合作,“他是我的恩人,也是我的贵人”
  • 爱彼迎:一季度总收入约23亿美元,将拓展住宿以外的新领域
  • 贵州赤水一处岩体崩塌致4车受损,连夜抢修后已恢复通车