在Java和C文件中创建属性

在Java和C文件中创建属性,java,android,c,properties,Java,Android,C,Properties,我目前面临的情况是: 我想为双击唤醒手势创建一个切换,该手势通过以下提交到Nexus 6 PowerHAL“打开”: 我希望通过使用一个系统应用程序(用java编写)来实现这一点,以提供启用/禁用此功能的切换(写入上述C文件中的内核sysfs路径) 显然,我不能将其包装在ifdef或任何东西中,但我被告知可以在应用程序(Java文件)中创建一个属性,然后在C文件中继承它 理论上,其作用如下: 在应用程序中启用/禁用功能(Java将属性设置为打开或关闭) 属性用于确定要写入sysfs路径的值

我目前面临的情况是:

我想为双击唤醒手势创建一个切换,该手势通过以下提交到Nexus 6 PowerHAL“打开”:

我希望通过使用一个系统应用程序(用java编写)来实现这一点,以提供启用/禁用此功能的切换(写入上述C文件中的内核sysfs路径)

显然,我不能将其包装在ifdef或任何东西中,但我被告知可以在应用程序(Java文件)中创建一个属性,然后在C文件中继承它

理论上,其作用如下:

  • 在应用程序中启用/禁用功能(Java将属性设置为打开或关闭)
  • 属性用于确定要写入sysfs路径的值
sysfs文件的内容将非常简单,就像比较启用和禁用文件的值一样,我更关心实现这一点所涉及的逻辑

<>我知道很少的java,但是有C++的坚实基础。 我在谷歌上搜索了一下,没有找到任何相关的东西

任何洞察都会很好


--杰克

安卓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!");
}