0

私はアンドロイドの初心者で、カメラボタン、ハンズフリー通話応答ボタンなどのハードウェア入力に応答するアプリを作成しようとしています。

たとえば、カメラのボタンを取ります。押すと、デフォルトのカメラアプリが起動します。私がやりたいことは、そのデフォルトの応答を防ぎ、アプリがそれに応答するようにすることです。カメラアプリを置き換えることができることは知っていますが、それは私が期待するものではありません.

ボタンが押されると、アプリが最初に実行され、アプリが完了すると、アプリはカメラ アプリに転送されます。これが可能であれば、私を正しい方向に向けてください

4

2 に答える 2

2

現時点でACTION_CAMERA_BUTTONは、受注放送です。優先度の高いを作成し<intent-filter>て、ファームウェア自体のカメラ アプリの前に制御を取得し、やりたいことを実行し、呼び出しabortBroadcast()て、優先度の低いフィルターがこのブロードキャストを受信しないようにすることができます。

でも:

  • コンパイル時に、ファームウェア内のカメラ アプリの優先度や、ユーザーがインストールした可能性のある他のカメラ アプリの優先度を知る方法はありません。

  • ACTION_CAMERA_BUTTON順序付けられたブロードキャストとして文書化されていません。したがって、古いバージョンの Android は注文されない可能性があり、Android の将来のバージョンは注文されない可能性があり、デバイス メーカーは必ずしも注文を維持する必要はありません。

  • CAMERAボタンを備えたデバイスはほとんどありません

于 2012-05-06T13:22:27.603 に答える
0

たとえば、カメラボタンを押したときに何をするかを決定するのは、意図的にユーザーに任されています (電話にそのようなボタンがある場合、ほとんどの場合はありません!)。デフォルトではカメラアプリが開きますが、これと、これらのイベント (インテント) を受け取るアクティビティを登録する方法は既にご存じのとおりです。

これにより、ユーザーは、そのボタンが押されたときに使用するアプリ (またはむしろアクティビティ) を選択できます。ユーザーが必要に応じて、ポップアップするリストでアクティビティを選択できます (カメラ ボタンの押下を処理する方法には 2 つの選択肢があるため)。リスト内の選択肢の 1 つを常に使用するように選択することもできます。したがって、あなたのアプリがユーザーが望むものである場合、ユーザーはそれを選択できます。また、ボタンが押されたときに常にアプリが必要な場合は、それを指定することもできます。

于 2012-05-06T13:26:49.447 に答える