2017-08-07 111 views
1

我想在Android上获得相机和微型权限。我在codenameone_library_required.properties文件补充说:Codename one棉花糖授权

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,而不是在棉花糖预期。

android.targetSDKVersion=23 

但不幸的是,这是不够的,当:因此,我的代号一个开发指南,要求在以后Android版本权限我有目标SDK的23.事实上仔细一看,在构建提示添加我启动它不要求权限的应用程序。

我应该添加一些要求权限吗?也许“Display.getInstance()。setProperty(...)”?

预先感谢您!

回答

1

,如果我真的了解你的问题,你应该在运行时请求摄像头权限是这样的(机器人棉花糖及以上):

//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 

在代号一个人的情况下,作为@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 
+0

我不认为我有权访问来自代号1的ActivityCompat,但我可能是错的。 – mina

+0

尝试此[链接](https://www.codenameone.com/blog/marshmallow-permissions-in-the-simulator-and-native-code.html) – FarBen

+0

是的,它也涵盖在开发者指南 –