web-dev-qa-db-ja.com

Androidインストール時にアプリが許可を求めない

私は大学のIT部門で働いており、eduroam WiFiの正しいセットアップをインストールするアプリを開発しています(聞いたことがあるかもしれません)。

しかし、私は自分でそれを実行する際に問題がありますLG G4 with Android 6.0。これらはAndroidManifest.xmlで設定されます。以前のすべてのAndroid=バージョンで動作していました。

実行時に許可を求めることは今必須ですか?

19
der_eismann

ターゲットSDKバージョンが23の場合、実行時に「危険な」許可を要求する必要があります。

この場合、Settings > Apps > "Your app" > Permissionsにアクセスすると、アクセス許可が付与されていないことがわかります。

新しいシステムをまだ実装したくない場合は、ターゲットSDKバージョンを22に減らして、古い許可システムを取得できます。ただし、SDKバージョン23でコンパイルすることはできます。

詳細については、 ドキュメント を参照してください。

40
StuStirling

実行時に許可をリクエストする場合は、アプリに特別なリクエストを作成する必要があります。このようなもの:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        createPermissions();
}
public void createPermissions(){
    String permission = Manifest.permission.READ_SMS;
    if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED){    
        if(!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), permission)){
              requestPermissions(new String[]{permission}),
                        SMS_PERMISSION);
        }
    }
}
2