在app中访问自己添加的服务
ok,服务有了,那就来写服务的调用者app。这里指的服务请看我另外一篇文章:《在framework上添加访问硬件驱动的服务》https://blog.csdn.net/daoliting5268/article/details/88308956
这个就更简单了。
首先用Android studio建个空项目。
然后在主activity中分别加一个输入框和按钮,然后监听,通过servicemanager获取MydrvService的服务,写入不同的值。这个值通过服务层到jni到hal到驱动控制IO。
下面来贴代码并解析。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MydrvService = IMydrvService.Stub.asInterface(
ServiceManager.getService("Mydrv"));
这个是通过句柄获取服务。
public void onClick(View v) {
if(v.equals(writeButton)){
try{
String text = valueText.getText().toString();
int val = Integer.parseInt(text);
MydrvService.setVal(val);
}
catch (RemoteException e){
Log.e(LOG_TAG, "Remote Exception while value to Mydrv service");
}
}
}
这个是按键监听后操作。