1.在frameworks/base/core/java/android/app/下添加aidl文件
frameworks/base/core/java/android/app/IGMyTestService.aidl
package android.app;
// Declare any non-default types here with import statements
interface IGMyTestService {
void setCmdData(int cmd,String data);
void getCmdData(int cmd,String data);
}
2.修改frameworks/base/Android.mk文件,将aidl加到该文件中,这样才可以被编译到,否则编译不过
将core/java/android/app/IGMyTestService.aidl \
加到LOCAL_SRC_FILES后面
3.在frameworks/base/services/core/java/com/android/server/下添加service文件
frameworks/base/services/core/java/com/android/server/ GMyTestManagerService.java
package com.android.server;
/**
* Created by Administrator on 2018/6/6.
*/
import android.app.*;
import android.app.IGMyTestService;
import android.content.Context;
import android.os.RemoteException;
import android.util.Log;
public class GMyTestManagerService extends IGMyTestService.Stub {
private static final String TAG = "GMyTestManagerService";
private Context mContext = null;
public GMyTestManagerService(Context context) {
mContext = context;
initNative();
}
@Override
public void setCmdData(int cmd) throws RemoteException {
// TODO Auto-generated method stub
Log.d(TAG, "setCmdData cmd"+cmd);
setCmdDataNative(cmd);
}
@Override
public void setCmdData(int cmd, int data1) throws RemoteException {
// TODO Auto-generated method stub
Log.d(TAG, "setCmdData cmd"+cmd);
setCmdDataNative(cmd,data1);
}
@Override
public void setCmdData(int cmd, int data1,int data2) throws RemoteException {
// TODO Auto-generated method stub
Log.d(TAG, "setCmdData cmd"+cmd);
setCmdDataNative(cmd,data1,data2);
}
@Override
public void setCmdData(int cmd, int data1,int data2,int data3) throws RemoteException {
// TODO Auto-generated method stub
Log.d(TAG, "setCmdData cmd"+cmd);
setCmdDataNative(cmd,data1,data2,data3);
}