android - 代号一棉花糖授权

标签 android codenameone opentok

我正在尝试在 Android 上获取相机和微权限。我在 codenameone_library_required.properties 文件中添加了:

android.xpermissions=<uses-permission android:name="android.permission.CAMERA" android:required="true"/> <uses-permission android:name="android.permission.RECORD_AUDIO" android:required="true"/> <uses-permission android:name="android.permission.INTERNET" android:required="true"/>

这适用于旧版本的 Android,但不适用于预期的 Marshmallow。因此,我在开发人员指南的代号上读到,要在以后的 android 版本中请求权限,我必须以 sdk 23 为目标。事实上,我在构建提示中添加了:

android.targetSDKVersion=23

但不幸的是,这还不够,当我启动应用程序时,它不会请求权限。

我应该添加一些东西来请求权限吗?也许是“Display.getInstance().setProperty(...)”?

提前致谢!

最佳答案

如果我真的理解你的问题,你应该在运行时(android Marshmallow 及更高版本)像这样请求相机权限:

//to check if the user grant the permission before
if(ActivityCompat.checkSelfPermission(getActivity().getApplicationContext(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {

    //if it is not the case, request new permission
    ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA},requestCode);
    return;
}

//your camera code is here 

在 Codename One 的情况下,正如@mina 所说,您找不到 ActivityCompat 类,因此请尝试这段代码:

if(!com.codename1.impl.android.AndroidNativeUtil.checkForPermission(Manifest.permission.READ_PHONE_STATE, "This should be the description shown to the user...")){

// you didn't get the permission, you might want to return here
}
// you have the permission, do what you need

关于android - 代号一棉花糖授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45546741/

相关文章:

android - Jetpack Compose 列中的 fillViewPort 行为

java - Joda LocalTime Meridiem 解析

java - 如何将 List<Model> 从 Activity 传递到 Fragment

CN1 模拟器上的 SSL 握手问题

android - Android 上的 Cookie

ios - Opentok黑屏问题

android - 项目 "-resource-src"中不存在目标 "HelloWorldTest"。从目标 "compile"使用

runtime - 退出 aap 后 Codenameone 文本字段未清除

android - 如何录制已经在 onPreviewFrame 上流式传输的视频

android - 在 OpenTok 中自动显示当前正在通话的用户