私のアプリケーションでは、カメラ オブジェクトを取得してカメラにアクセスします。次に、一部のデータを継続的に管理するサービスを開始します。場合によっては、カメラ オブジェクトを使用するために、サービスがブロードキャスト リクエストをアクティビティに送信します。
したがって、アプリが最小化されると、サービスはカメラを使用できなくなります。なんで?アプリに戻るとクラッシュする
02-15 18:06:56.100: E/AndroidRuntime(23686): FATAL EXCEPTION: main 02-15 18:06:56.100: E/AndroidRuntime(23686): java.lang.RuntimeException: ブロードキャスト インテントの受信エラー { act=android .intent.action.MAIN flg=0x10 (エクストラあり) } in com.mkyong.android.MainActivity$1@418e4730
スタック トレース全体http://dpaste.com/933015/
したがってandroid.intent.action.MAIN
、サービスによって送信されたインテントがありますが、アクティビティによって受信されることはありません。
私は自分の活動で次のような意図を捉えています:
@Override
protected void onResume() {
super.onResume();
IntentFilter intentFilter = new IntentFilter(
"android.intent.action.MAIN");
mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//access camera
}
};
this.registerReceiver(mBroadcastReceiver, intentFilter);
}
アプリが最小化されているときに、インテントをキャッチしてカメラにアクセスする機会はありますか? どうやってやるの?