暗黙的intentを呼び出すには注意すべき点があります.

1172 ワード

開発では、カメラアプリケーションを使用して写真を撮るなど、暗黙的なintentを呼び出すことがよくあります.
次の関数は、Intentを送信して写真をキャプチャします.
static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

注意startActivity ForResult()メソッドを呼び出す前に、resolveActivity()を呼び出します.このメソッドは、このIntentを処理できる最初のActivityを返します.startActivity()を呼び出すときに、あなたのIntentを処理できるActivityが適用されていない場合、アプリケーションがクラッシュします.したがって、結果がnullでない限り、このIntentを使用するのは安全です.