イメージをキャプチャし、デフォルトのディレクトリにそのイメージをtest.jpgという名前で保存するコードを記述しようとしました。私のデバイスは、画像をキャプチャしませんが、それは、テストケースの他の部分を実行し、ボタンのみとアンドロイドがあるimage.Inのxmlファイルをキャプチャエラーを示しています。onClickのはデバイスから画像をキャプチャするこのコードがなぜ正しく動作しないのですか?
パブリッククラスMainActivityアクティビティ{
を拡張して処理するように設定されていますprivate File imagefile;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void process(View v)
{
Toast.makeText(this,"Inside the process",Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imagefile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),"test.jpg");
Uri temp = Uri.fromFile(imagefile);
intent.putExtra(MediaStore.EXTRA_OUTPUT,temp);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1);
startActivityForResult(intent,0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==0)
{
switch (resultCode){
case Activity.RESULT_OK:
if(imagefile.exists())
{
Toast.makeText(this,"File was saved at "+imagefile.getAbsolutePath(),Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(this,"Error captureing image",Toast.LENGTH_SHORT).show();
}
break;
case Activity.RESULT_CANCELED:
break;
}
}
}
}
キャストのonCreateに、ボタン()メソッド私は –
@Yashajabiya、それでも同じ –
追加 '<使用許可アンドロイドを:名前=「android.permission.CAMERA」/>'とカメラの許可の要求。 – KeLiuyue