如何使用C请求串口android的权限

时间:2016-03-04 00:41:21

标签: android serial-port java-native-interface native

目前,我的设备将USB串行适配器连接到打印机。我正在寻找如何通过串口发送数据到打印机" / dev / ttyUSB0"但我得到错误"操作不被允许"从调用chmod()。这是要求获得打开端口许可的电话,因为如果我没有请求许可,我会得到“拒绝接入”#34;从调用Open()。

我们说我的端口是" / dev / ttyUSB0"并且权限是将数据发送到端口。

以下是对chmod()的调用。感谢。

JNIEXPORT jint JNICALL Java_com_example_testserialport_ExecuteTest_RequestPermission(JNIEnv *env, jobject obj, jstring port)
{        
    LOGI("entering RequestPermission()");

    int retVal = 0;
    mode_t permission = S_IWUSR;//request to write to port

    jboolean iscopy;
    const char *path_utf = (*env)->GetStringUTFChars(env, port, &iscopy);
    retVal = chmod(path_utf, permission);
    if(retVal == -1)
    {
        LOGE("inside RequestPermission()- chmod() failed");
        LOGE("inside RequestPermission()- chmod()- errno=%s", strerror(errno));
        return -1;
    }

    LOGI(ANDROID_LOG_INFO, TAG, "exiting RequestPermission()");
    return 0;
}

0 个答案:

没有答案