android+授权成功返回resultcode为-1,android – Camera始终将resultCode返回为0

开发者在Android应用中遇到一个问题,当尝试使用相机时,无论用户是拍照还是取消操作,相机总是返回结果代码0。在`onActivityResult`中,`resultCode`始终为0,导致无法区分用户是否成功拍照。日志显示用户被标记为取消操作,但问题仍然存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试使用我的Android应用程序中的相机开发.

问题是相机总是返回结果代码0,无论我是按完还是取消.

我使用的代码片段如下:

protected void startCameraActivity()

{

Log.i("MakeMachine", "startCameraActivity()" );

File file = new File( _path );

Uri outputFileUri = Uri.fromFile( file );

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );

startActivityForResult(intent, 0);

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data)

{

Log.i( "MakeMachine", "resultCode: " + resultCode );

switch( resultCode )

{

case 0:

Log.i( "MakeMachine", "User cancelled" );

break;

case -1:

Log.i( "MakeMachine", "User done" );

onPhotoTaken();

break;

}

}

logcat显示:

05-31 14:58:15.367: E/asset(29114): MAS: getAppPckgAndVerCode package: makemachine.android.examples === version 1

05-31 14:58:15.398: D/dalvikvm(29114): Trying to load lib lib_glossary.so 0x0

05-31 14:58:15.414: D/dalvikvm(29114): Added shared lib lib_glossary.so 0x0

05-31 14:58:26.125: I/MakeMachine(29114): ButtonClickHandler.onClick()

05-31 14:58:26.125: I/MakeMachine(29114): startCameraActivity()

05-31 14:58:26.507: W/IInputConnectionWrapper(29114): showStatusIcon on inactive InputConnection

05-31 14:58:36.375: I/MakeMachine(29114): User cancelled

05-31 14:58:36.375: I/MakeMachine(29114): resultCode: 0

05-31 14:58:50.945: I/MakeMachine(29114): ButtonClickHandler.onClick()

05-31 14:58:50.945: I/MakeMachine(29114): startCameraActivity()

05-31 14:58:51.429: W/IInputConnectionWrapper(29114): showStatusIcon on inactive InputConnection

05-31 14:59:01.554: I/MakeMachine(29114): User cancelled

05-31 14:59:01.554: I/MakeMachine(29114): resultCode: 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值