編輯:關於Android編程
Android Frameworks層提供了硬件服務,Android系統APP可以調用這些硬件服務,進而完成硬件的控制,實現應有的功能。接著上一篇,這一篇要在frameworks層為應用提供java接口的硬件服務。cd到frameworks/base/core/java/android/os目錄,添加 IGpioService.aidl:
package android.os; interface IGpioService { void setVal(int val); int getVal(); }我們通過setVal去設置LED的亮滅,getVal一直是省略的
打開frameworks/base下的Android.mk,修改LOCAL_SRC_FILES,增加:
core/java/android/os/IGpioService.aidl \編譯IGpioService.aidl接口:(成功編譯源碼前提下)
mmm frameworks/base
生成:
Install: out/target/product/generic/system/framework/framework.odex Install: out/target/product/generic/system/framework/framework.jar成功後cd到frameworks/base/services/java/com/android/server目錄,添加GpioService.java文件:
package com.android.server; import android.content.Context; import android.os.IGpioService; import android.util.Slog; public class GpioService extends IGpioService.Stub { private static final String TAG = "GpioService"; GpioService() { init_native(); } public void setVal(int val) { setVal_native(val); } public int getVal() { return getVal_native(); } private static native boolean init_native(); private static native void setVal_native(int val); private static native int getVal_native(); };修改當前目錄下的SystemServer.java文件,在ServerThread::run中增加GpioService:
try { Slog.i(TAG, "Recognition Service"); recognition = new RecognitionManagerService(context); } catch (Throwable e) { reportWtf("starting Recognition Service", e); } try { Slog.i(TAG, "DiskStats Service"); ServiceManager.addService("diskstats", new DiskStatsService(context)); } catch (Throwable e) { reportWtf("starting DiskStats Service", e); } try { Slog.i(TAG, "Gpio Service"); ServiceManager.addService("gpio", new GpioService()); } catch (Throwable e) { Slog.e(TAG, "Failure starting Gpio Service", e); }編譯GpioService:
mmm frameworks/base/services/java
生成:
Install: out/target/product/generic/system/framework/services.odex Install: out/target/product/generic/system/framework/services.jarFrameworks層已經包含了我們編寫的硬件服務,應用程序可以通過這些java接口訪問硬件服務。
簡介點擊事件的事件分發,其實就是對MotionEvent事件的分發過程,即當一個MotionEvent產生之後,系統需要這個事件傳遞給一個具體的View,而這個傳遞過程就
1.使用Service2.綁定Service3.Service的生命周期--------------------------------------------1.使用S
本文詳細分析了Android中Service服務。分享給大家供大家參考,具體如下:一、Service簡介Service是Android中實現程序後台運行的解決方案,適用於
一 、 測試環境講解:1.一台win7電腦2.安裝好sdk,在 sdk\platform-tools 目錄下,可以看到adb.exe 文件3.為了方便輸入,可以設置環境變