[英]Android 6. App crashes when pass byte array between activity
我需要將字節數組從相機活動返回到主要活動。
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();
}
};
它在 android 4,5 上完美運行。 但是在 android 6 應用程序崩潰(沒有打印錯誤日志)。 如果我評論"dataIntent.putExtra("image", data);"
線。 應用程序正確返回主要活動。
我有根據的猜測是您需要實現運行時權限才能獲得用戶使用相機或讀寫外部存儲的權限......在運行時。 這可以由用戶保存或隨時撤銷,但需要在清單中進行管理,並在您調用相機時進行管理。
這與 android 6 相比,不再需要用戶安裝權限,而是某些操作需要運行時權限。
也許你的 Android 6 手機比你的 Android 4 設備有更好的相機? 你知道 Parcelable extra 的大小限制嗎?
請參閱 Android 文檔: http : //developer.android.com/reference/android/os/TransactionTooLargeException.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.