android 有关怎么自己添加系统级服务 java层 重点aidl
2011-11-23 22:11
411 查看
frameworks/base/core/java/android/os下面加aidl文件和frameworks/base/core/java/android/app下面加aidl文件有什么区别,不清楚
在frameworks/base/services/java的com.android.server下面
在SystemServer的ServerThread的run方法中
上面的方法涉及到ServiceManager,我们这里根据那个addService来跟踪下:
IServiceManager的实现类:ServiceManagerNative和ServiceManagerProxy这两个又有什么区别呢?
服务调用的地方
ApplicationContext中
interface ICarSignalManager { void setBacklightState(boolean state); }
在frameworks/base/services/java的com.android.server下面
public class CarSignalManagerService extends ICarSignalManager.Stub { ...... }
在SystemServer的ServerThread的run方法中
ServiceManager.addService(Context.CAR_SIGNAL_SERVICE, new CarSignalManagerService(context));
上面的方法涉及到ServiceManager,我们这里根据那个addService来跟踪下:
public static void addService(String name, IBinder service) { try { getIServiceManager().addService(name, service); } catch (RemoteException e) { Log.e(TAG, "error in addService", e); } }
IServiceManager的实现类:ServiceManagerNative和ServiceManagerProxy这两个又有什么区别呢?
服务调用的地方
public CarSignalManager(Context context) { IBinder b = ServiceManager.getService(Context.CAR_SIGNAL_SERVICE); if (b == null) { throw new RuntimeException("Car Signal service not available!"); } mService = ICarSignalManager.Stub.asInterface(b); }
CarSignalManager carSignalManager = (CarSignalManager) mContext .getSystemService(Context.CAR_SIGNAL_SERVICE); carSignalManager.setBacklightState(false);
ApplicationContext中
@Override public Object getSystemService(String name) { ... if (CAR_SIGNAL_SERVICE.equals(name)) { return getCarSignalManager(); } ... }
相关文章推荐
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- [置顶] 关于Android 添加系统级(java)服务和调用的编写实现
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- Linux 怎么把自己写的脚本添加到服务里面,即可以使用service命令来调用
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- 为 Android 添加 Java 层服务也就是添加自定义的aidl服务到serviceManager 通过ServiceManager.getService取
- 关于android 7.0系统怎么添加自定义的系统服务
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- 为 Android 添加 Java 层服务也就是添加自定义的aidl服务到serviceManager 通过ServiceManager.getService取
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- android中怎么把自己需要的app启动图标集中到一个弹出框中
- Android 百度地图添加标记+定位+导航(从定位点开始导航到自己添加的点)
- 怎么快速构建自己的C/C++程序?——有关编译、静态链接和SCons
- android 添加核心层服务
- Android开发怎么判断应用或者服务已经启动
- android分享功能以及将自己的应用添加到分享列表中(2)