2017-08-07 13 views
1

私はAndroidでカメラとマイクロパーミッションを取得しようとしています。私はcodenameone_library_required.propertiesファイルに追加:コードネーム1マシュマロ許可

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の古いバージョンのために動作しますが、マシュマロのためには期待できないとして。このように、私は私が実際にSDK 23をターゲットにする必要があり、後でアンドロイドのバージョンでのアクセス許可を求めるためのコードネーム1つの開発者ガイドに読んで、私は、ビルドのヒントに追加:

android.targetSDKVersion=23 

しかし、残念ながら、これは十分ではなく、とき私は許可を求めないアプリケーションを起動します。

権限を求めるために何かを追加する必要がありますか?たぶん "Display.getInstance()。setProperty(...)"?

ありがとうございます!コードネームOneの場合は

//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を見つけることができませんでした:私は本当にあなたの質問を理解している場合

答えて

1

、実行時にこのような(上記のアンドロイドマシュマロとの)カメラの許可を要求する必要がありますこのコードを試してみてください:

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

はい、また、開発者ガイド –

関連する問題