AndroidでNDK JNIを使用してWifi RSSIレベルを取得する方法を示す例がありますか? JavaコードとJNIのrssiレベルを比較する必要があります。AndroidのNDK JNIでWifi RSSIレベルを取得する方法
ありがとうございます!
UPDATE
私はcppのファイルから文字列を取得することになりましたことができますよ。
ファイル: com_example_cvlab_ndktest_NativeClass.cpp
#include <com_example_cvlab_ndktest_NativeClass.h>
JNIEXPORT jstring JNICALL
Java_com_example_cvlab_ndktest_NativeClass_getMessageFromJNI
(JNIEnv *env, jclass obj){
return env->NewStringUTF("This is a message from JNI");
}
com_example_cvlab_ndktest_NativeClass.h:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_example_cvlab_ndktest_NativeClass */
#ifndef _Included_com_example_cvlab_ndktest_NativeClass
#define _Included_com_example_cvlab_ndktest_NativeClass
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_example_cvlab_ndktest_NativeClass
* Method: getMessageFromJNI
* Signature:()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL
Java_com_example_cvlab_ndktest_NativeClass_getMessageFromJNI
(JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
NativeClass.java パッケージcom.example.cvlab.ndktest。
/**
* Created by zafaco on 14.06.2017.
*/
public class NativeClass {
public native static String getMessageFromJNI();
}
Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := com_example_cvlab_ndktest_NativeClass.cpp
LOCAL_LDLIBS += -llog
LOCAL_MODULE := MyLibs
include $(BUILD_SHARED_LIBRARY)
Application.mk:
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-16
これは私のために正常に動作します。 これで、他のライブラリのメソッドをどのように呼び出すことができますか? たとえばIはLink1とLink2 を発見し、私は、メソッドの入力がWiFiドライバに送信するコマンドであるRSSI
私は( "SIGNAL_POLL")RES = android_net_wifi_getRssiHelperを試してみました。私はこのエラーが表示されます:メソッド 'android_net_wifi_getRssiHelper(java.lang.String)'を解決できません。 –
これはcで使用するネイティブメソッドでした。あなたはJava APIをお探しですか? – SoroushA
申し訳ありません。あなたが正しいです。後で家に戻ってみる。これまでにありがとうございました! –