当前位置: 首页 > 知识库问答 >
问题:

Android Studio应用程序崩溃,与OnClick和startActivityForResult相关

严阳成
2023-03-14

我现在正在学习如何在Android Studio上制作一个简单的相机应用程序。当我点击“相机”按钮,应用程序崩溃。我似乎无法确定是什么导致了应用程序崩溃。在logcat中,它声明'start activityforresult'可能是原因...但在我看来这很正常。

我确保相机按钮id与java文件匹配。非常感谢任何帮助!

public class MainActivity extends AppCompatActivity {

Button cam_button;
ImageView imageView;
static final int CAMERA_REQUEST_CODE = 1;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    cam_button = (Button) findViewById(R.id.cam_button);
    imageView = (ImageView) findViewById(R.id.imageV);

    cam_button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            File file = getFile();
            cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
            startActivityForResult(cameraIntent, CAMERA_REQUEST_CODE);
        }
    });

}


private File getFile() {
    File folder = new File("sdcard/camera_app");
    if(folder.exists())
        folder.mkdir();

    File imageFile = new File("cameraImage.jpg");

    return imageFile;
}


@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

    String path = "sdcard/camera_app/cameraImage.jpg";
    imageView.setImageDrawable(Drawable.createFromPath(path));
}}
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="camera"
    android:id="@+id/cam_button"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageV"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

这是我从logcat复制的内容:

06-24 21:30:45.769 214 81-21481/com.sugarcoder.cameraapp E/AndroidRuntime:致命异常:主进程:com.sugarcoder.cameraapp,pid:21481 java.lang.securityException:权限拒绝:启动意图{act=Android.media.action.image_capture flg=0x3 cmp=com.motorola.camera/.camera clip={text/uri-list u:file:///cameraimage.jpg}(has extras)来自ProcessRecord{b5b85f2Tivity.java:75)在Android.app.activity.StartActivityforResult(activity.java:3881)在Android.support.v4.app.FragmentActivity.StartActivityforResult(FragmentActivity.java:871)在com.sugarcoder.cameraapp.MainActivity$1。onclick(MainActivity.java:40)在Android.view.view.PerformClick(view.java:5201)在Android.view.view$PerformClick.Run(

共有1个答案

姬弘文
2023-03-14

解决了!我发现问题是,我必须在手机上进入应用程序的应用程序信息,并打开权限。谢谢你们的帮助,伙计们!:)

 类似资料:
  • 在这个孩子的acitivy我有一个页面有一个旋转器和一个按钮。 首先,按钮是工作的,但当我点击旋转器,应用程序将崩溃。为了解决这个问题,我必须改变 至 我在活动中得到了这个方法,但他没有找到这个方法,因为我查看了contentView=LayoutInflater.from(getParent()).Inflate(r.layout.show_add_expresse_event,null);se

  • 这是代码- 启动应用程序时出错-01-13 17:07:13.543 5027-5058/com。实例金纳里。trial2 D/FA:日志记录事件(FE):用户参与(\u e),捆绑[{firebase\u event\u origin(\u o)=自动,参与时间\u毫秒(\u et)=2716,firebase\u screen\u class(\u sc)=主活动,firebase\u scr

  • 问题内容: 当我尝试访问Flask应用程序时,该应用程序崩溃了。 这类似于this或this。但是,我的设置似乎正确。 flask.cli.NoAppException:提供的文件/路径(服务器)似乎不存在。请确认路径正确。如果应用不在PYTHONPATH上,请确保扩展名为.py 我的环境变量设置正确。 我的服务器文件是y目录中没有任何文件。 我不记得对代码进行任何特殊更改。该错误可能来自哪里?

  • 在以前的代码上,谁医生帮了我 现在,android应用程序在我的手机上运行时崩溃了,这是错误日志 第一个问题是在我用相机扫描二维码后,它不能显示在二维码的结果进入 第二个问题是,我从存储器中选择了一个QRcode图像,然后点击确认,它崩溃了 下面是我认为的问题 类型不匹配:推断的类型是Uri?但乌里是意料之中的 冗余SAM构造函数 'onRequestPermissionsResult(Int,数

  • 我正在使用内置于Web View的Android开发浏览器。其中我面临的一个问题是,当我访问http://crashmybrowser.com测试浏览器上的选项卡崩溃时,我的整个浏览器应用程序都会崩溃。但是,当在chrome或Opera上进行相同的测试时,这些浏览器会在崩溃中幸存下来,并且只有特定的选项卡崩溃是由于访问上述网站而预期的结果。有人能帮助理解我如何在使用Webview的浏览器上处理此崩

  • 我正在创建我的第一个Firebase应用程序。它的要求之一是在网络不可用时运行。Firebase指南指出: 启用磁盘持久性允许我们的应用程序即使在重新启动应用程序后也保持其所有状态。我们只需一行代码就可以实现磁盘持久性。FirebaseDatabase。getInstance()。setPersistenceEnabled(true);启用磁盘持久性后,我们的同步数据和写入将在应用程序重新启动时持