首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActivityNotFoundException,图像捕捉?

ActivityNotFoundException,图像捕捉?
EN

Stack Overflow用户
提问于 2013-03-22 15:57:26
回答 2查看 3K关注 0票数 0

我发布了一个App,用户可以在里面拍照。我这样做是为了捕捉照片:

代码语言:javascript
复制
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 );

我还添加了这个权限来声明:

代码语言:javascript
复制
<uses-permission android:name="android.permission.CAMERA" />

我在Android2.3.5Android3.0上测试了我的应用程序,它在fine.But上工作。当我在Android4.0.3上运行我的应用程序时,它崩溃了:

代码语言:javascript
复制
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.media.action.IMAGE_CAPTURE (has extras) }

我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-22 16:08:48

可能会发生几件事

  1. device
  2. 中可能没有任何摄像头,device

中可能没有SD卡

你的案例是否符合上述任何一种情况?

票数 4
EN

Stack Overflow用户

发布于 2013-03-22 16:18:44

检查您的

1.平板电脑有摄像头(如果您使用的是平板电脑)。2.手机有摄像头3.没有安装SD卡

在清单中添加以下内容。

代码语言:javascript
复制
   <uses-feature android:name="android.hardware.camera" />

将阻止从google play下载应用程序。http://developer.android.com/google/play/filters.html

另请检查http://developer.android.com/guide/topics/manifest/uses-feature-element.html

检查您的设备是否有摄像头。

代码语言:javascript
复制
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);

    Context context = this;
    PackageManager packageManager = context.getPackageManager();

    // if device support camera?
    if (packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
        //yes
        Log.i("camera", "This device has camera!");
    }else{
        //no
        Log.i("camera", "This device has no camera!");
    }


}
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15565390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档