如何往Android系统中添加服务

如题所述

这里说的系统服务,是指捆绑在system_process进程中的服务。仔细阅读源码可以发现,在frameworks/base/services/java/com/android/server/SystemServer.java中添加了很多服务,什么熵信息、电量、wife等等服务,这些服务启动都在launcher之前,一般要继承Binder或者继承一个AIDL。下面试着来添加一个简单系统服务。一、在frameworks/base/core/java/android/os/ 增加一个aidl文件,最后用aidl工具生产一个Java文件,这样可以方便后面:然后在修改/frameworks/base/Android.mk,在LOCAL_SRC_FILES里添加一行:core/java/android/os/IYtTtsService.aidl \不确定补充:把AIDL文件写在这个地方似乎可以避免加@hide二 、在frameworks/base/services/java/com/android/server/ 新建要增加的service,继承上面aidl生产的java三、在frameworks/base/services/java/com/android/server/SystemServer.java, ServerThread中run()方法中增加代码四、在ContextImpl getSystemService中添加代码五、测试代码
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-03-29
仔细阅读源码可以发现,在frameworks/base/services/Java/com/Android/server/SystemServer.java中添加了很多服务,什么熵信息、电量、wife等等服务,这些服务启动都在launcher之前,一般要继承Binder或者继承一个AIDL。下面试着来添加一个简单系统服务本回答被提问者采纳

如何往Android系统中添加服务
一、在frameworks\/base\/core\/java\/android\/os\/ 增加一个aidl文件,最后用aidl工具生产一个Java文件,这样可以方便后面:然后在修改\/frameworks\/base\/Android.mk,在LOCAL_SRC_FILES里添加一行:core\/java\/android\/os\/IYtTtsService.aidl \\不确定补充:把AIDL文件写在这个地方似乎可以避免加@hide二 、在fram...

如何创建android系统服务
1、 撰写一个aidl文件,定义服务的接口,将在编译过程中通过aidl工具生成对应的java接口。一般系统服务的aidl文件都放在framework\\base\\core\\java\\android\\os目录中。以我所写的IMyTool.aidl为例。在.aidl中定义自己需要加入的方法,编写规则和java接口差不多,这里不多说。2、 将aidl文件名添加到fra...

如何给Android应用创建本地服务
setContentView(R.layout.local_service_controller); \/\/查找布局中的启动服务按钮,并设置点击事件监听器。 Button button = (Button)findViewById(R.id.start); button.setOnClickListener(mStartListener); \/\/查找布局中的终止服务按钮,并设置点击事件监听器。 button = (Button)findViewById(R.id.stop); butt...

如何在Android系统下设置代理服务器
第一步:打开“设置”菜单在Android系统中,打开“设置”菜单是设置代理服务器的第一步。通常情况下,“设置”菜单可以直接在手机屏幕上找到,也可以在应用列表中搜索。第二步:进入“无线和网络设置”菜单在“设置”菜单中,找到“无线和网络设置”选项,点击进入。第三步:选择“WLAN”选项在“无线和网...

如何在android系统中开启自己的服务
1.在配置文件AndroidManifest.xml中向系统注册receiver <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" \/> <\/intent-filter> 2.需要添加相应权限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" \/> 3.在Receiver中就可以添加开机需要进行的操作...

Android 中service的使用
设置android:process指定进程名,服务运行于该进程中,其他组件可访问服务,满足权限要求。若进程名以「冒号」开头,则服务为应用私有,其他应用无法访问。bindService和unbindService成对使用,确保服务终止。如果在onDestroy中调用onBind,而Activity未被系统终止,则系统会自动调用onBind并记录警告。Android中的...

android 平添系统服务怎么解决
1. 添加IXManager.aidl(AIDL)文件:frameworks\/base\/pppoe\/java\/android\/net\/pppoe\/IPppoeManager.aidl package android.net.pppoe;interface IPppoeManager { int getPppoeState();boolean setupPppoe(String user, String iface, String dns1, String dns2, String password);boolean startPppoe();boole...

怎样在已ROOT 的Android 4.0 以上系统设置自启动服务
下载授权管理,里面就有个叫自启管理的功能,百度卫士,手机管家,这些安全卫士也都有的,望采纳,谢谢

android怎么调用系统服务
android 平添系统服务怎么解决 1. 添加IXManager.aidl(AIDL)文件:frameworks\/base\/pppoe\/java\/android\/\/pppoe\/IPppoeManager.aidl package android..pppoe; interface IPppoeManager { int getPppoeState(); boolean setupPppoe(String user, String iface, String dns1, String dns2, String ...

Android系统组件——AMS,App启动中的AMS流程
在系统启动时,SystemServer作为服务入口点加载并启动所有系统服务,包括AMS。它首先创建AMS实例,将其注册为系统服务,然后启动AMS的主线程,以处理各种服务请求。当应用启动时,AMS接收启动请求并根据包名和类名创建新进程,然后在新进程中启动ActivityThread主线程,初始化应用环境并加载资源。接着,AMS调用...

相似回答