インテントを使用した録音を使用しています。あるデバイスでは、RECORD_SOUND_ACTIONにアクセスできません。RECORD_SOUND_ACTIONがデバイスで使用可能かどうかを確認するにはどうすればよいですか?
コードのこの部分を使用します
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent, RQS_RECORDING);
インテントを使用した録音を使用しています。あるデバイスでは、RECORD_SOUND_ACTIONにアクセスできません。RECORD_SOUND_ACTIONがデバイスで使用可能かどうかを確認するにはどうすればよいですか?
コードのこの部分を使用します
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent, RQS_RECORDING);
これを試してください:
Intent intent =
new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
if (isAvailable(getApplicationContext(), intent)) {
startActivityForResult(intent, RQS_RECORDING);
}
public static boolean isAvailable(Context ctx, Intent intent) {
final PackageManager mgr = ctx.getPackageManager();
List<ResolveInfo> list =
mgr.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
}
それは私にとってはうまくいきます。