2017-12-09 7 views
-4

このコードは、すべてのバージョンで動作します。バージョン7.0未満のアンドロイドですが、Nougatでは動作しません。ボタンを押すと、次の活動には行かないのですか?以下のコードでNougat権限を追加する方法を教えてください。ここで以下のコードにNougat Permissionを追加するには?

currentlocation.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     currentlocation.startAnimation(animTranslate); 
     if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) { 
      if (ActivityCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.READ_EXTERNAL_STORAGE) 
        != PackageManager.PERMISSION_GRANTED) { 
       ActivityCompat.requestPermissions(Front.this, new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_PERMISSON_SORAGE); 

      } 
     } else { 
      if (interstitialAd.isLoaded()) { 
       interstitialAd.show(); 
      } 
      Intent iu = new Intent(Front.this, MainActivity.class); 
      startActivity(iu); 
     } 
    } 
}); 
@Override 
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
    if (requestCode == REQUEST_PERMISSON_SORAGE 
      && grantResults.length > 0 
      && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
     Intent i = new Intent(Front.this, MainActivity.class); 
     startActivity(i); 
     //finish(); 
    } else { 
     Toast.makeText(this, "Please Allow permision to use App .", Toast.LENGTH_SHORT).show(); 
     finish(); 
    } 
} 

私のマニフェスト上映が権限追加されます。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
+0

あなたがマニフェストでパーミッションを宣言したかどうか:あなたの質問を編集して、それを加えてください。 – Nawrez

+0

<使用許可アンドロイド:名= "android.permission.READ_EXTERNAL_STORAGE" /> <使用許可アンドロイド:名= "android.permission.INTERNETあなた" /> <使用許可アンドロイド:名= "android.permission .ACCESS_NETWORK_STATE "/> "android.permission.RECEIVE_ BOOT_COMPLETED "/> –

+0

これらの権限は、マニフェストファイルに追加されています。ハジケイル・ナウレズ –

答えて

0

まずオフを、許可制度は、API 23から始まり、上記の、そのためのコードは次のようになります。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 

第2に、要求していないより危険なアクセス許可があります:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> ---> You did request this 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

READ_EXTERNAL_STORAGEのみをリクエストしてください。残りをもリクエストしてください。あなたと同じように文字列配列に追加してくださいREAD_EXTERNAL_STORAGE

関連する問題