怎样实现硬件访问服务(下)

简介: 怎样实现硬件访问服务

本文原文链接:https://xuesong.blog.csdn.net/article/details/80933999?spm=1001.2014.3001.5502



注册进去:

1675858293412.jpg

1675858306296.jpg

1675858314109.jpg


4、LedService.java:调用本地方法来操作硬件

package com.android.server;
import android.os.ILedsService;
//类 LedService ,它继承的父类是ILedService.Stub类
public class LedService extends ILedService.Stub{
    private static final String Tag = "LedService";
    //call native c function to access hardware
    public int ledCtrl(int which, int status) 
    {
        return native_ledCtrl(which,status);
    }
    public LedService(){
        native_ledOpen();
    }
    public int native native_ledCtrl(int which, int status);
}

1675858335249.jpg


SystemServer.java中

Slog.i(Tag, “Led Service”);
ServiceManager.addService(“led”, new LedService);//new LedService 创建实例化对象


5、IledService.java(接口文件):给app使用

aidl(Android Interface Definition Language)文件
interface ILedService(){
    int ledCtrl(int which, int status);
}


需要修改:Android.mk

添加一行:

core/java/android/os/ILedService.aidl\


执行mmm . 命令

生成:IledService.java 文件


6、app使用

=====================


JNI复习:

1675858384288.jpg

硬件访问服务:

SystemServer:

1675858393485.jpg

因为操作都不一样:

1675858404676.jpg

相关文章
|
2月前
|
存储 人工智能 物联网
探索操作系统的本质与影响
本文深入探讨了操作系统的核心概念、历史演变及其对现代社会的深远影响。通过对操作系统架构、功能及发展趋势的分析,旨在为读者提供一个全面而深入的理解,展现其在技术世界中的基石地位。
|
3月前
|
编译器 API C语言
C语言与硬件交互:通过I/O端口控制硬件。
C语言与硬件交互:通过I/O端口控制硬件。
113 0
|
6月前
|
存储 人工智能 大数据
系统和32位系统的区别
系统和32位系统的区别
|
6月前
|
Linux
Linux设备驱动之多个同类设备共用一套驱动
Linux设备驱动之多个同类设备共用一套驱动
167 0
|
6月前
硬件中电感器的重要作用与特性
硬件中电感器的重要作用与特性
50 0
|
存储 安全 程序员
操作系统的概念、功能、目标
操作系统的概念、功能、目标
237 1
|
固态存储 异构计算
电脑的硬件组成部分以及它们的维护方法?
电脑的硬件组成部分以及它们的维护方法?
|
缓存 前端开发 调度
根据Nehalem架构了解CPU内部细节
根据Nehalem架构了解CPU内部细节
295 0
|
缓存 开发工具 数据安全/隐私保护
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
【软考学习17】数据传输控制方式、虚设备和微内核操作系统
165 0
Web服务器是直接和硬件交互的吗?底层原理是什么?
Web服务器是直接和硬件交互的吗?底层原理是什么?
172 0