私は小さな問題で苦労しています。私はAndroidアプリの開発には非常に新しいので、もしそれが愚かに見える私の質問をしてください。Android:ユーザーが許可した後にアプリをアクティブに保つにはどうすればよいですか?
私は自分のアプリケーションを起動すると、私は許可を求めるユーザーから、この時点で私は、アプリケーションの上にアクセス許可を要求するためのダイアログが表示されます。しかし、私が "許可"を押すことによって許可へのアクセスを許可すると、私のアプリはバックグラウンドで行き、次に私のアプリを再起動する必要があります。
ユーザーが「許可」ボタンを押して許可を与えた後、私のアプリにフォーカスを戻す正しい方法を知りたいので、手動でアプリケーションを再起動する必要はありませんか?
許可を尋ねるために私のコードは以下の通りです:
if (ActivityCompat.checkSelfPermission(MainActivity.this, READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
Log.e("Camera", "Permission to READ_EXTERNAL_STORAGE is not granted, let's ask user");
ActivityCompat.requestPermissions(MainActivity.this, new String[]{READ_EXTERNAL_STORAGE}, 1);
}else {
Log.e("Camera", "Permission to READ_EXTERNAL_STORAGE is already granted, let's find out pictures");
File CameraDirectory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath());
// Going to get no of pictures available in the DCIM directory.
get_no_of_pictures(CameraDirectory);
}
Log.e("uEarn.Camera", "Finishing the CameraPhotos app");
finish();
}
}
あなたのコードにfinish()があります。これがあなたのアクティビティが終了する理由です。 アクティビティのonRequestPermissionsResultメソッドをオーバーライドすることを忘れないでください。ユーザーが許可されているかどうかを知ることができます。 – Alex
コードの最後にあるfinish()ステートメントは、アクティビティを閉じます。それを取り除くと、そこにとどまります。 –
ありがとう、アレックスとクナル。それは実際にそのように働いた。 – Pagar