android - 为什么调用 MediaStore.ACTION_IMAGE_CAPTURE 意图后图像的路径为空?
问题描述
File fullPath;
public void mybutton_testfullsize(View v) {
Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File directory = new File(this.getApplicationContext().getExternalFilesDir("/Data/"), "MyPublicFolder");
if (!directory.exists()) {
directory.mkdirs();
}
File fullPath = new File(directory, "pic.png");
Uri photoURI = FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + ".provider", fullPath);
takePicture.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePicture, 2);
}
我正在使用上述方法拍照并将其保存在给定的路径中。在 ActivityResult 我想使用变量 fullPath,但它始终为空。
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch (requestCode) {
case 2: if(fullPath.exists()){...}}
fullPath.exists() 总是给出 NullpointerException。如何访问路径?我不想硬编码它,因为我想实现一个应用程序,路径会发生变化。
解决方案
推荐阅读
- amazon-web-services - 超过 DAX Dynamodb 上下文最后期限
- android - 用于互联网连接的 Delphi XE7 Android FMX 线程
- javascript - 使用国际电话输入库的自动国家/地区不起作用
- odoo - Oddo Button 返回供应商账单而不是客户发票
- javascript - 单击提交 ReactJS 时页面刷新
- python - 将可执行字节流可视化为图像文件,为什么要旋转 45 度?
- internet-explorer - java 1.8 中的部署规则集不起作用
- python - SyntaxError dict[0] 不在列表中,但 dict[0] 在列表中有效?
- jenkins - Jenkins 触发构建 URL
- asp.net - 如何仅在 SignalR 中为特定域启用 CORS?