хорошо, я создаю приложение для записи звука, и для этого я даю два разрешения программе, которая прекрасно работает. и я хочу играть и аудио, когда пользователь получает разрешение. но мой код воспроизводит звук одновременно с запросом разрешения. Кто-нибудь может мне помочь?
это функции, которые я использовал для получения разрешений:
private void requestPermission () {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{WRITE_EXTERNAL_STORAGE, RECORD_AUDIO}, RequestPermissionCode);
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case RequestPermissionCode:
if (grantResults.length > 0) {
boolean StoragePermission = grantResults[0] == PackageManager.PERMISSION_GRANTED;
boolean RecordPermission = grantResults[1] == PackageManager.PERMISSION_GRANTED;
if (StoragePermission && RecordPermission) {
Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this,"Permission Denied",Toast.LENGTH_LONG).show();
}
}
break;
}
}
public boolean checkPermission() {
int result = ContextCompat.checkSelfPermission(getApplicationContext(), WRITE_EXTERNAL_STORAGE);
int result1 = ContextCompat.checkSelfPermission(getApplicationContext(), RECORD_AUDIO);
return result == PackageManager.PERMISSION_GRANTED && result1 == PackageManager.PERMISSION_GRANTED;
}
и здесь, где я использовал функции и воспроизводил аудио:
if (! CheckPermission ()) {
requestPermission();
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (isFirstRun) {
MediaPlayer mediaPlayer1 = MediaPlayer.create(this, R.raw.instruction);
mediaPlayer1.start();
// Toast.makeText(MainActivity.this, "First run", Toast.LENGTH_LONG).show();
getSharedPreferences("Preference", MODE_PRIVATE).edit().putBoolean("isFirstRun", false).apply();
}