2017-10-26 4 views
0

私はすでにプレイストアにアプリを持っています。私は最近プレイストアに新しいAPKを追加しました。 以前、私は位置、カメラ、連絡先(配列形式で追加)に対して3つの権限を追加しました。許可がありませんアンドロイドのプレイストアで更新されたapkを取得する

if (ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.MANAGE_DOCUMENTS) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.READ_CALENDAR) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.WRITE_CALENDAR) != PackageManager.PERMISSION_GRANTED 
      && ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { 

     ActivityCompat.requestPermissions(this, 
       new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_COARSE_LOCATION 
         , android.Manifest.permission.MANAGE_DOCUMENTS, android.Manifest.permission.WRITE_EXTERNAL_STORAGE 
         , Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.CALL_PHONE 
         , Manifest.permission.READ_SMS, android.Manifest.permission.READ_SMS 
         , Manifest.permission.GET_ACCOUNTS, Manifest.permission.GET_ACCOUNTS}, 
       1000); 
    } 

は現在、最新のものは5許可(場所、カメラ、連絡先、アカウントを取得し、SMSを読む)の.but Playストアから新しいAPKに古いAPKを更新した後に設定しました。それはアンドロイド6.0で許可を求めていません。私はこの問題を克服するための提案をしてください。

答えて

1

あなたは論理エラーがあります。 &&の代わりに||を使用してください。

すべてのアクセス許可が拒否されている場合にのみ、アクセス許可を要求しています。少なくとも1つが拒否されている場合、アクセス権は要求されません。

特定のアクセス許可が許可されていない場合にアクセス許可を要求するには、||を使用します。

ランタイムのアクセス権に問題があるようです。私のライブラリを使って、実行時のアクセス権を簡単に処理できます。 https://github.com/nabinbhandari/Android-Permissions

+0

Nabin Bhandariありがとうございました。私の一日を保存しました。 –

+0

申し訳ありません。さて、私は正しいものとしてマークしました。 –

関連する問題