2016-04-04 6 views
1

カメラアクティビティからメインアクティビティにバイト配列を返す必要があります。Android 6.アクティビティ間でバイト配列を渡すとアプリケーションがクラッシュする

private Camera.PictureCallback mPicture = new Camera.PictureCallback() { 
     @Override 
     public void onPictureTaken(byte[] data, Camera camera) { 
      Intent dataIntent = new Intent(); 
      dataIntent.putExtra("image", data); 
      setResult(Activity.RESULT_OK, dataIntent); 
      finish(); 
     } 
    }; 

アンドロイド4,5で完璧に動作します。しかし、アンドロイド6アプリクラッシュ(エラーログを印刷せずに)。 私は"dataIntent.putExtra("image", data);"行にコメントしています。アプリは主なアクティビティに正しく戻ります。

+0

あなたは、Androidスタジオ(アンドロイドモニター) 'ショーのみ選択applications'で選択したのですか?おそらく、いくつかのエラーが表示されます。「No Filters」を選択してください。 – Exaqt

答えて

1

カメラを使用したり、外部ストレージに読み書きしたりするユーザーのアクセス権を取得するには、実行時にruntime permisssionsを実装する必要があります。これは、ユーザーが保存したり、いつでも取り消すことができますが、マニフェストやカメラの使用を呼び出すときには管理する必要があります。

これはアンドロイド6から変更されました。ここでは、インストール時のユーザー権限は不要になりますが、特定の操作には実行時権限が必要です。

関連する問題