android串口service,Android 添加系统串口服务步骤

系统服务实际上是调用了远程Bind对象进行操作

1:添加aidl文件到 framworks/base/core/java/android/hardware/ISerialManager.aidl//这个文件是需要自己现实的

2:编译脚本中添加申明

frameworks/base/Android.mk:     core/java/android/hardware/ISerialManager.aidl \

3:Context文件中添加变量

frameworks/base/core/java/android/content/Context.java:    public static final String SERIAL_SERVICE = "serial";

4:添加调用远程服务的文件

frameworks/base/services/java/com/android/server/ SerialService.java//这个文件是需要自己现实的

到frameworks/base/services/java/com/android/server/SystemServer.java:

例如:public class SerialService extends ISerialManager.Stub文件

try {

Slog.i(TAG, "Serial Service");

// Serial port support

serial = new SerialService(context);

ServiceManager.addService(Context.SERIAL_SERVICE, serial);

} catch (Throwable e) {

Slog.e(TAG, "Failure starting SerialService", e);

}

}

5:添加注册服务到 frameworks/base/core/java/android/app/ContextImpl.java:  获取SerialManager

import android.hardware.SerialManager;

import android.hardware.ISerialManager;//这两个文件是需要自己现实的

构造方法中传入两个参数 public SerialManager(Context context, ISerialManager service) {

mContext = context;

mService = service;

}

registerService(SERIAL_SERVICE, new ServiceFetcher() {

public Object createService(ContextImpl ctx) {

IBinder b = ServiceManager.getService(SERIAL_SERVICE);

return new SerialManager(ctx, ISerialManager.Stub.asInterface(b));

}});

接下来就可以通过(SerialManager)getSystemService(Context.SERIAL_SERVICE);来获取SerialManager

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值