Как получить уровень Wi-Fi RSSI с NDK JNI в Android

у кого-то есть пример или можно показать, как это работает, чтобы получить уровень Wi-Fi RSSI с NDK JNI в Android?
Я должен сравнить уровень rssi из кода Java против JNI.

Заранее спасибо!

ОБНОВИТЬ

Теперь я могу получить строку из файла 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 := MyLibsinclude $(BUILD_SHARED_LIBRARY)

Application.mk:

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-16

Это прекрасно работает для меня.
Итак, как теперь я могу вызывать методы из других библиотек?
Например я нашел Link1 а также Link2
и я заинтересован в RSSI

0

Решение

Ввод метода — это команда для отправки в драйвер Wi-Fi. Пытаться:

res = android_net_wifi_getRssiHelper("SIGNAL_POLL");

Чтобы получить больше контроля над командой и ответом, вы можете отправить команду вручную через:

doCommand(const char *cmd, char *replybuf, int replybuflen);

где cmd это ваша команда.

Для списка возможных команд вы можете использовать см .:

https://android.googlesource.com/platform/frameworks/base/+/0e2d281/wifi/java/android/net/wifi/WifiNative.java

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]