サウンドレコーダーアプリを書いていますが、電話のロック画面が表示されているときにMediaRecorderをアクティブ化できるかどうか疑問に思っています。もしそうなら、それは特別な許可または何か他のものの問題ですか?前もって感謝します。
3 に答える
android.permission.WAKE_LOCK権限でPowerManagerクラスを使用してみてください。
あなたはここでもっと見つけることができます。
はい、可能です。ロック画面は、アプリケーションのサービスの動作には影響しません。したがって、サービスを使用している場合は、録音が続行されます。ただし、電話機がスタンバイ状態の場合は、機能しない可能性があります。その場合は、ウェイクロックを取得するだけで、CPUを存続させ、必要に応じて機能させることができます。ただし、ウェイクロックをつかむとバッテリーに影響するため、インテリジェントに使用する必要があります。
最近(Android 11以降)、これは不可能になっているはずです。
注:Android 9(APIレベル28)以降を実行しているデバイスでは、バックグラウンドで実行されているアプリはマイクにアクセスできません。したがって、アプリは、フォアグラウンドにある場合、またはMediaRecorderのインスタンスをフォアグラウンドサービスに含める場合にのみオーディオを録音する必要があります。
[1] https://developer.android.com/guide/topics/media/mediarecorder
場所、カメラ、マイク
へのアクセスの制限ユーザーのプライバシーを保護するために、Android 11(APIレベル30)では、フォアグラウンドサービスがデバイスの場所、カメラ、またはマイクにアクセスできる場合に制限が導入されています。アプリがバックグラウンドで実行されているときにアプリがフォアグラウンドサービスを開始すると、フォアグラウンドサービスには次の制限があります
。...
フォアグラウンドサービスはマイクまたはカメラにアクセスできません。
[2] https://developer.android.com/guide/components/foreground-services