android上的新功能是,我有一个按钮打开gallery选择一张图片并将其显示在imageview中,该功能正常工作,还有一个按钮使用Intent打开相机,我可以打开相机拍照,但单击保存图像后,应用程序崩溃。拍摄的图像保存在正确的文件夹中。当在应用程序中debug时,错误在以下行中抛出:
filePath = data.getData();
位图显示为空。我已经添加了权限,也看了很多关于这个的帖子,但还是想不出问题出在哪里。感谢任何帮助。这是代码。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == CAM_REQUEST && resultCode == Activity.RESULT_OK ){
Toast.makeText(TerminosYC.this.getActivity(), "si hay foto", Toast.LENGTH_LONG).show();
filePath = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), filePath);
imageView.setImageBitmap(bitmap);
areaLeyendaImagen.setVisibility(View.VISIBLE);
areaFotoCargada.setVisibility(View.VISIBLE);
imagencargada.setVisibility(View.VISIBLE);
textoimagencargada.setVisibility(View.VISIBLE);
area_cerrarIagen.setVisibility(View.VISIBLE);
cerrarImagen.setVisibility(View.VISIBLE);
areaLeyendaImagen.setFocusableInTouchMode(true);
areaLeyendaImagen.requestFocus();
areaLeyendaImagen.setFocusable(true);
buttonChoose.setError(null);
} catch (IOException e) {
e.printStackTrace();
}
}else if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK ) {
filePath = data.getData();
try {
bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), filePath);
imageView.setImageBitmap(bitmap);
areaLeyendaImagen.setVisibility(View.VISIBLE);
areaFotoCargada.setVisibility(View.VISIBLE);
imagencargada.setVisibility(View.VISIBLE);
textoimagencargada.setVisibility(View.VISIBLE);
area_cerrarIagen.setVisibility(View.VISIBLE);
cerrarImagen.setVisibility(View.VISIBLE);
buttonChoose.setError(null);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String getPath(Uri uri) {
Cursor cursor = getActivity().getContentResolver().query(uri, null, null, null, null);
cursor.moveToFirst();
String document_id = cursor.getString(0);
document_id = document_id.substring(document_id.lastIndexOf(":") + 1);
cursor.close();
cursor = getActivity().getContentResolver().query(
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null, MediaStore.Images.Media._ID + " = ? ", new String[]{document_id}, null);
cursor.moveToFirst();
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
cursor.close();
return path;
}
日志目录:
a E/MotionRecognitionManager: mSContextService = null
08-13 23:50:38.243 27745-27745/com.example.lupitagarcia.yosoyvallarta
E/MotionRecognitionManager: motionService =
com.samsung.android.motion.IMotionRecognitionService$Stub$Proxy@39e18a4
08-13 23:50:51.483 27745-27745/com.example.lupitagarcia.yosoyvallarta
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.lupitagarcia.yosoyvallarta, PID: 27745
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=66849, result=-1, data=null} to activity {com.example.lupitagarcia.yosoyvallarta/com.example.lupitagarcia.yosoyvallarta.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:5004)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5047)
at android.app.ActivityThread.access$1600(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1875)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7406)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.net.Uri android.content.Intent.getData()' on a null object reference
at com.example.lupitagarcia.yosoyvallarta.TerminosYC.onActivityResult(TerminosYC.java:463)
at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:165)
at android.app.Activity.dispatchActivityResult(Activity.java:7165)
at android.app.ActivityThread.deliverResults(ActivityThread.java:5000)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:5047)
at android.app.ActivityThread.access$1600(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1875)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7406)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
更新:
一旦图片附加到图像视图上,我点击一个按钮发送图片以将其存储在数据库中,我就会收到此错误。
FATAL EXCEPTION: main
Process: com.example.lupitagarcia.yosoyvallarta, PID: 15254
java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.database.Cursor.moveToFirst()' on a null object reference
at com.example.lupitagarcia.yosoyvallarta.TerminosYC.getPath(TerminosYC.java:549)
at com.example.lupitagarcia.yosoyvallarta.TerminosYC$1.onClick(TerminosYC.java:352)
at android.view.View.performClick(View.java:5721)
at android.widget.TextView.performClick(TextView.java:10936)
at android.view.View$PerformClick.run(View.java:22620)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7406)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
您可以在REQUEST_CAMERA时获得位图
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
您可以从图库中获取位图 PICK_IMAGE_REQUEST
Uri uri = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(mcontext.getContentResolver(), uri);
// Log.d(TAG, String.valueOf(bitmap));
} catch (Exception e) {
e.printStackTrace();
}
试试这个
values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "New Picture");
values.put(MediaStore.Images.Media.DESCRIPTION, "From your Camera");
imageUri = getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(intent, CAMERA_CLICK_RESULT);
在<code>上,在ActivityResult上
if (requestCode == CAMERA_CLICK_RESULT && resultCode == RESULT_OK) {
Bitmap photo = null;
try {
photo = MediaStore.Images.Media.getBitmap(
getContentResolver(), imageUri);
} catch (IOException e) {
e.printStackTrace();
}
}
Since 10.0.18 stopContinuousLocation stopContinuousLocation 停止持续获取当前设备的经纬度信息 支持版本:从10.0.18开始 使用方法 和startContinuousLocation 配对使用, 单独使用没有效果, 且一定要先点击 启动持续定位,在点击停止持续定位才有效果。 测试地址:startContinuousLocation Al
我在Android Studio 6.0上的模拟器出现了上述崩溃,但在我的设备6.0.1上没有崩溃。模拟器有时会启动相机,但它大多会崩溃,在logcat中没有任何东西来给我指明正确的方向。有人知道这里可能发生了什么吗? 此外,这里有一个图像,当它确实通过。image_capture_camera logcat:
问题内容: 我正在学习如何使用mplot3d生成漂亮的3d数据图,到目前为止我很高兴。我现在想做的是旋转表面的动画效果。为此,我需要为3D投影设置相机位置。我猜这一定是有可能的,因为在交互使用matplotlib时,可以使用鼠标旋转表面。但是如何从脚本执行此操作?我在mpl_toolkits.mplot3d.proj3d中找到了很多转换,但是我找不到如何使用这些转换的目的,也没有找到任何尝试的示例
问题内容: 我想停止redis服务器,并且它一直在运行。我正在使用redis-2.6.7 检查它是否正在运行: 它显示“ … bind:地址已在使用中”,因此它已在运行。 我努力了 它只是挂起,没有任何反应。我中断检查,是的,它仍在运行。 我努力了 我得到“无法打开配置文件’停止’” 我试过了: 仍在运行。 我想要停止它的原因是,当我尝试通过Python设置或获取值时,它只是挂起了。所以我认为我会
我在spring boot中有一个调度器,它每X分钟完成一个特定的业务任务。它工作正常,直到突然停止,不再啮合。日志或任何其他日志中都没有例外。我需要重新启动程序,调度器才能再次工作。 有时调度程序的任务出错,我抛出一个异常。为了能够具体地处理这些异常,我在Spring中为调度器编写了一个定制的ErrorHandler,用于解析用于日志记录的单独任务。它正确链接到调度程序并处理任务。