2013-03-22 73 views
0

我已經發布了一個應用程序,讓用戶可以拍攝照片在它。我這樣做是爲了拍攝照片:ActivityNotFoundException,圖像捕獲?

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); 

,也是我加入這個權限來體現:

<uses-permission android:name="android.permission.CAMERA" /> 

我測試我的應用程序上Android2.3.5Android3.0,和它的作品fine.But當我在Android4.0.3運行我的應用程序,它崩潰:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.media.action.IMAGE_CAPTURE (has extras) } 

我怎麼能SOLV這個問題?

回答

4

幾件事情可以發生

  1. 可能沒有任何相機設備
  2. 沒有在設備

沒有你的情況符合上述任何一項沒有SD卡?

+0

你的情況是怎樣的? – stinepike 2013-03-26 06:10:53

3

檢查是否您的

1.Tablet有相機(如果您使用平板電腦)。 2.電話有攝像頭3.沒有安裝SD卡。

將以下內容添加到清單。

<uses-feature android:name="android.hardware.camera" /> 

將阻止應用程序從谷歌播放下載。 http://developer.android.com/google/play/filters.html

還要檢查http://developer.android.com/guide/topics/manifest/uses-feature-element.html

要檢查,如果你的設備有攝像頭。

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!"); 
    } 


} 
}