0

インテントを使用した録音を使用しています。あるデバイスでは、RECORD_SOUND_ACTIONにアクセスできません。RECORD_SOUND_ACTIONがデバイスで使用可能かどうかを確認するにはどうすればよいですか?

コードのこの部分を使用します

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
startActivityForResult(intent, RQS_RECORDING);
4

1 に答える 1

1

これを試してください:

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;  

  } 

それは私にとってはうまくいきます。

于 2013-03-22T09:00:39.430 に答える