Android部分手機拍照上傳返回為空處理

最近項目中遇到一個問題,Android手機拍照返回時,部分手機拍照返回時,在onActivityResult方法中使用data.getData()返回為空,解決方法為:

    private Uri photoUri=null;

    /**
     * 調(diào)用系統(tǒng)相機拍照
     * */
    private void openFile() {
        Intent openFileIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        openFileIntent
                .putExtra(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");

        SimpleDateFormat timeStampFormat = new SimpleDateFormat(
                "yyyy_MM_dd_HH_mm_ss");
        String filename = timeStampFormat.format(new Date());
        ContentValues values = new ContentValues();
        values.put(Media.TITLE, filename);
        photoUri = getContentResolver().insert(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

        openFileIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);

        startActivityForResult(openFileIntent, Consts.Intents.INTENT_OPEN_FILE);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK
                && requestCode == Consts.Intents.INTENT_OPEN_FILE) {
            Uri result = null;
            if (ValueUtils.isNotEmpty(data)) {
                result = data.getData();
            }else {
                result = photoUri;
            }
            if (mUploadMessage != null) {
                if (result != null) {
                    mUploadMessage.onReceiveValue(result);
                } else {
                    // 防止監(jiān)聽一直掛起
                    mUploadMessage.onReceiveValue(null);
                }
                mUploadMessage = null;
            }
        }
    }

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容