2017-06-04 2 views
2

エミュレータの画像フォルダから画像を取り込んで、アプリケーションのレイアウトに選択した画像を表示するアプリを作成しました。
私は、インスタントアプリに私のアプリを変換すると、画像フォルダから画像をピックアップする同じコードが例外をスローします。私は、READ_EXTERNAL_STORAGEの実行時アクセス許可を使用しました。以下である
**AndroidインスタントアプリからGalleryを起動できません

java.lang.SecurityException: Not allowed to start activity Intent { 
      act=android.intent.action.GET_CONTENT typ=*/* } 

**


:以下の例外がスローされ

 private static final int PICK_IMAGE_REQUEST = 234; 
    Intent intent = new Intent(); 
    intent.setType("*/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(intent, PICK_IMAGE_REQUEST); 



以下は私のコードですrのコード除外権限:

private static final int REQUEST_WRITE_STORAGE = 112; 
    @TargetApi(Build.VERSION_CODES.JELLY_BEAN) 
    public boolean checkPermission() 
    { 
     int currentAPIVersion = Build.VERSION.SDK_INT; 
     if(currentAPIVersion>=android.os.Build.VERSION_CODES.M) 
     { 
      if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { 
       if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) MainActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)) { 

        Toast.makeText(MainActivity.this,"Permission Denied...",Toast.LENGTH_LONG).show(); 
       } else { 
        ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_WRITE_STORAGE); 
        return true; 
       } 
       return false; 
      } else { 
       return true; 
      } 
     } else { 
      return true; 
     } 
    } 

誰でもこの問題を解決するのに役立ちますか?
ありがとうございました。

+0

どうやってそれに対処しましたか? – Kenji

答えて

1

インスタントアプリは、通常のAndroidアプリでアクセスできるいくつかの機能にアクセスできなくなります。例外:

java.lang.SecurityException: Not allowed to start activity Intent...

は、あなたがそのような機能を発見したことを意味します。この場合、現在許可されていないのはIntent.ACTION_GET_CONTENTです。このような追加機能のサポートは、時間の経過とともに導入される可能性があります。

さらに、Instant Appsは外部ストレージからの読み取りまたは書き込みにアクセスできないため、READ_EXTERNAL_STORAGEへのアクセス要求も機能しないか、例外がスローされます。 Instant Appsでサポートされている権限のリストについては、hereを参照してください。

+0

応答のためのアダムありがとう –

+0

許可を得てCAMERAを起動しようとすると、インスタントアプリはAndroid 7.1エミュレータで「カメラなし」としてトーストを表示します。インスタントアプリでカメラを有効にする方法は? –

+0

カメラが動作するはずです。システムカメラアプリを起動し、設定したエミュレータでカメラをエミュレートできることを確認できますか?そうでない場合は、エミュレータの設定に入り、カメラのエミュレーションがオンになっていることを確認する必要があります。 – AdamK

関連する問題