在Java和C文件中创建属性
我目前面临的情况是: 我想为双击唤醒手势创建一个切换,该手势通过以下提交到Nexus 6 PowerHAL“打开”: 我希望通过使用一个系统应用程序(用java编写)来实现这一点,以提供启用/禁用此功能的切换(写入上述C文件中的内核sysfs路径) 显然,我不能将其包装在ifdef或任何东西中,但我被告知可以在应用程序(Java文件)中创建一个属性,然后在C文件中继承它 理论上,其作用如下:在Java和C文件中创建属性,java,android,c,properties,Java,Android,C,Properties,我目前面临的情况是: 我想为双击唤醒手势创建一个切换,该手势通过以下提交到Nexus 6 PowerHAL“打开”: 我希望通过使用一个系统应用程序(用java编写)来实现这一点,以提供启用/禁用此功能的切换(写入上述C文件中的内核sysfs路径) 显然,我不能将其包装在ifdef或任何东西中,但我被告知可以在应用程序(Java文件)中创建一个属性,然后在C文件中继承它 理论上,其作用如下: 在应用程序中启用/禁用功能(Java将属性设置为打开或关闭) 属性用于确定要写入sysfs路径的值
- 在应用程序中启用/禁用功能(Java将属性设置为打开或关闭)
- 属性用于确定要写入sysfs路径的值
--杰克安卓NDK拥有你所需要的一切
public class MyActivity extends Activity {
static {
System.loadLibrary("library");
}
/**
* Native method implemented in C/C++
*/
public native String toggleFoo();
}
#包括
#包括
jstring Java_com_package_MyActivity_toggleFoo(JNIEnv*env,jobject javaThis){
return(*env)->NewStringUTF(env,“来自本机代码的你好!”);
}
小心,C和C++不是同一回事!Linux内核特性通常是通过在sysfs中编写文件来控制的,您不需要C来完成这项工作。你想用C做什么?
#include <string.h>
#include <jni.h>
jstring Java_com_package_MyActivity_toggleFoo(JNIEnv* env, jobject javaThis) {
return (*env)->NewStringUTF(env, "Hello from native code!");
}