3

サムスン ギャラクシー、アンドロイド 1.5。ユーザーがいつカメラボタンを離したかを検出しようとしています。ACTION_CAMERA_BUTTON インテントを取得し、それに付随する EXTRA_KEY_EVENT を調べるレシーバーがあります (レシーバーの onReceive() で) 次のコードを使用します。

@Override
public void onReceive(Context context, Intent intent) {
    String intent_action = intent.getAction(); 
     if (intent_action.equals(Intent.ACTION_CAMERA_BUTTON) ) {
                abortBroadcast();
                KeyEvent key = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);

            if ( key.getAction() == KeyEvent.ACTION_DOWN )
                Toast.makeText(context, "press", Toast.LENGTH_SHORT).show();
            else if ( key.getAction() == KeyEvent.ACTION_UP )
                Toast.makeText(context, "release", Toast.LENGTH_SHORT).show();
            else if ( key.getAction() == KeyEvent.ACTION_MULTIPLE )
                Toast.makeText(context, "multi", Toast.LENGTH_SHORT).show();
    }
}

ボタンを押すと、「プレス」ポップアップのみが表示されます。

これは電話または Android の制限ですか? カメラキーのリリースを検出する別の方法はありますか?

4

0 に答える 0