0
我有一個本地命令,它通過綁定使用parcel獲取一些數據並將其顯示給用戶,從而與Android Framework中的System Service交互。數據由整數和字符串變量組成。從SS發送的數據分別使用 parcel.writeInt() 和 parcel.writeString() 分別針對整數和字符串數據發送。 現在,問題是如何在原生空間(不是JNI,但是)我的本地命令處理代碼以.cpp文件的形式存在的情況下檢索此數據?本地空間中沒有等效的parcel.readInt()或parcel.readString()方法可用於解組或處理收到的宗地數據。如果我使用像parcel.readInt32()和parcel.readString16()方法那樣的可用方法,則數據不正確(可能)並且不顯示在屏幕上。 任何有關這個問題的見解和可能的解決方案將不勝感激。如何從本地空間中的宗地中檢索字符串數據?
感謝&問候,
要爲我的代碼添加更清晰,我在這裏添加以下代碼,這是通過我與SS的框架 -交易手段'service-> transact(int32_t code,parcel data,parcel reply);' 我希望數據能夠到達,這是'回覆'內。 現在,在您說明的'getString()'方法中,如何傳遞/獲取'jobject'實例?你的代碼的其他部分,我遵循。 – Wrangler
因此,對於您的情況,靜態Java方法更合適。看看這個例子(它不需要jobject):http://stackoverflow.com/documentation/android/8674/android-java-native-interface-jni/27060/how-to-call-a-java -method-從本機代碼的#噸= 201701051457069409036 –