2011-12-29 92 views
0

我想通過使用意圖拍照。
我的代碼看起來像this,我不知道問題出在哪裏。
當我想我的應用程序開始時,我得到錯誤:通過意圖拍攝一張照片android

12-20 06:09:03.243: E/AndroidRuntime(1048): java.lang.RuntimeException: com.android.camera.CameraHardwareException: java.lang.RuntimeException: Fail to connect to camera service 
+0

可能重複[Android的 - 無法連接到相機](http://stackoverflow.com/questions/2563973/android-fail-連接到相機) – evilone 2011-12-29 11:19:40

+1

您忘記了權限? <使用權限的android:name =「android.permission.CAMERA」/> – 2011-12-29 11:24:12

+0

我做了許可:( – karas 2011-12-29 11:29:48

回答

0

意向的拍照如下:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(intent, 0); 

現在,在活動導致您將獲得的圖像捕捉路徑。

希望這有助於你

0

試試這個:

 try { 


        File root = new File(Environment.getExternalStorageDirectory() 
          + File.separator + "temp" + File.separator); 
        root.mkdirs(); 
        File sdImageMainDirectory = new File(root, "myPicName.jpg"); 
        Uri outputFileUri = Uri.fromFile(sdImageMainDirectory); 
        startCameraActivity(); 
       } catch (Exception e) { 

        Toast.makeText(this, "Error occured. Please try again later.", 
          Toast.LENGTH_SHORT).show(); 

       } 
    protected void startCameraActivity() { 



      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
      startActivityForResult(cameraIntent, 101); 


     } 

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     if(requestCode==101 && resultCode==-1) 
     { 
      try 
      { 
      // "/mnt/sdcard/temp/myPicName.jpg" is ur image file if u want to use it 
      } 
      catch(Exception ex) 
      { 



      } 
     } 
相關問題