我正在创建从选择图库上传到服务器的图像。一周前,一切正常,但今天却无法正常工作,并显示此错误。
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=-1, data=Intent { dat=content://media/external/images/media/61489 flg=0x1 (has extras) }} to activity {com.example.pmb/com.example.pmb.Uploadlagi}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference at android.app.ActivityThread.deliverResults(ActivityThread.java:4619) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4661) at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1957) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference at com.example.pmb.Uploadlagi.BitMapToString(Uploadlagi.java:140) at com.example.pmb.Uploadlagi.onActivityResult(Uploadlagi.java:134)
这里是脚本
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { if (requestCode == 2) { Uri selectedImage = data.getData(); String[] filePath = { MediaStore.Images.Media.DATA }; Cursor c = getContentResolver().query(selectedImage,filePath, null, null, null); c.moveToFirst(); int columnIndex = c.getColumnIndex(filePath[0]); String picturePath = c.getString(columnIndex); c.close(); Bitmap thumbnail = (BitmapFactory.decodeFile(picturePath)); IDProf.setImageBitmap(thumbnail); BitMapToString(thumbnail); <------- error mention to this line } } } public String BitMapToString(Bitmap userImage1) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); userImage1.compress(Bitmap.CompressFormat.JPEG, 80, baos); byte[] b = baos.toByteArray(); Document_img1 = Base64.encodeToString(b, Base64.DEFAULT); return Document_img1; }
什么问题?以及必须解决的问题?
ps:我正在测试三星A6
我正在创建从选择图库上传到服务器的图像。一周前,一切正常,但今天却无法正常工作,并出现此错误。 java.lang.RuntimeException:无法交付结果ResultInfo {...
[我找到了解决方案,当我向上滚动日志时,我发现未授予权限,因此在onCreate()函数中,我创建了权限请求。