2017-08-07 105 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

是的,它也涵蓋在開發者指南 –