0

で画像を表示するためにどのように私の文法は、Android 5.1で実行することができますが、アンドロイド7.1で動作していない....intent.ACTION_VIEW

File file = new File(Environment.getExternalStorageDirectory(), "Pictures/1481853170451.jpg"); 
Toast.makeText(MainActivity.this, file.getPath(), Toast.LENGTH_LONG).show(); 
Uri path = Uri.fromFile(file); 

if (file.exists()) { 
    Intent intent = new Intent(); 
    intent.setAction(android.content.Intent.ACTION_VIEW); 
    intent.setDataAndType(path, "image/*"); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
try {      
    this.startActivity(intent); 
} catch (ActivityNotFoundException e) { 
} 

は、いずれかは私に可能な答えを伝えることができます。事前にありがとうございます....

+0

Androidのアクセス許可の問題を経る[アンドロイド6.0アクセス権のエラー]の –

+1

可能な重複を読みます(http://stackoverflow.com/questions/33078003/android-6-0-permission-error) –

答えて

0

ただ、外部ストレージ用のランタイム許可を確認し、次link

0

private static final int REQUEST_STORAGE = 112; 


    btn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        if (Build.VERSION.SDK_INT >= 23) { 
         String[] PERMISSIONS = {android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.READ_EXTERNAL_STORAGE}; 
         if (!hasPermissions(mContext, PERMISSIONS)) { 
          ActivityCompat.requestPermissions((Activity) mContext, PERMISSIONS, REQUEST_STORAGE); 
         } else { 
          getImage(); 
         } 
        } else { 
         getImage(); 
        } 

       } 
      }); 
     } 

GET権限がマシュマロ

private static boolean hasPermissions(Context context, String... permissions) { 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && context != null && permissions != null) { 
      for (String permission : permissions) { 
       if (ActivityCompat.checkSelfPermission(context, permission) != PackageManager.PERMISSION_GRANTED) { 
        return false; 
       } 
      } 
     } 
     return true; 
    } 

テイクのため

@Override 
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
     super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
     switch (requestCode) { 
      case REQUEST_STORAGE: { 
       if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
        getImage(); 
       } 
      } 
     } 
    } 

チェック権限を結果、

カメラの権限を、これを試してみてくださいイメージ外部記憶装置から

public void getImage() 
    { 
     File file = new File(Environment.getExternalStorageDirectory(), "Pictures/1481853170451.jpg"); 
     Toast.makeText(MainActivity.this, file.getPath(), Toast.LENGTH_LONG).show(); 
     Uri path = Uri.fromFile(file); 

     if (file.exists()) { 
      Intent intent = new Intent(); 
      intent.setAction(android.content.Intent.ACTION_VIEW); 
      intent.setDataAndType(path, "image/*"); 
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     try {      
      this.startActivity(intent); 
     } catch (ActivityNotFoundException e) { 
     } 
    }  

のAndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
関連する問題