サムスンギャラクシーS8のBixbyボタン(KeyCode:1082)をプログラムして、Bixbyランチャーの代わりにアプリケーションを起動する方法はありますか? App All in one Gesturesには既にカスタムキーでこの機能がありますが、これをプログラムでAndroidでどのように行うことができますか?私のアプリが正面でない場合でも、Bixbyボタンのプレスイベントを受け取る方法は?
答えて
Samsungはこれを行うユーザーを承認しておらず、少なくとも一部の場所では最近の更新でこの機能を無効にしているようです。レポートはさまざまですが、以下の例はすべてのデバイスで動作しないか、近い将来に動作する可能性があることに注意してください。詳細は、次の記事(XDA開発者へのオフサイトリンク)でご利用いただけます:
Samsung has Removed the Ability to Remap the Bixby Button on the Galaxy S8/S8+
1つのジェスチャーのすべてがこれを達成するためにAccessibilityService
を使用しています。あなたのアプリは同じことをすることができますが、ユーザーがデバイス設定のアクセシビリティサービスとして明示的にアプリを有効にする必要があります。
ビクスビーボタンは明らかにあなたのAccessibilityService
がちょうどonKeyEvent()
メソッドをオーバーライドして、渡されたイベントのキーコードをチェックする必要がある1082のキーコードで簡単なKeyEvent
Sを発するたとえば:。
public class BixbyInterceptService extends AccessibilityService {
private static final int KEYCODE_BIXBY = 1082;
@Override
protected boolean onKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KEYCODE_BIXBY &&
event.getAction() == KeyEvent.ACTION_DOWN) {
// Do your thing here; startActivity(), Toast, Notification, etc.
Toast.makeText(this, "Bixby button pressed", 0).show();
// Return true to stop the event from propagating further.
return true;
}
return super.onKeyEvent(event);
}
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {}
@Override
public void onInterrupt() {}
}
あなたは」マニフェストにAccessibilityService
を適切に登録する必要があります。そのためには、マニフェストとして有効にすることができます。例えば、<application>
タグ間:
<service
android:name=".BixbyInterceptService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/bixby_service_config" />
</service>
Service
に必要な設定を使用してXMLファイルにポイント上記<meta-data>
要素にresource
属性。プロジェクトのres/
フォルダの下に、必要に応じてxml/
フォルダを作成し、そこにこのファイルを追加します。インストール後
bixby_service_config.xml
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFlags="flagRequestFilterKeyEvents"
android:canRequestFilterKeyEvents="true"
/>
を、あなたは、アクセシビリティ]セクションの下にサービスでアプリを有効にする必要があります。デバイスの設定。
正確にbixby_service_config.xmlを作成する必要があります。 – Kriti
'res/xml /'にあります。 'drawable * /'、 'layout * /'などのフォルダを探します。すでに 'xml /'フォルダがない場合は作成し、そこに 'bixby_service_config.xml'ファイルが入ります。 –
@MikeM。 bibxyアプリをインテントからどのように呼び出すことができますか?ありがとう。私の質問はこちらhttps://stackoverflow.com/questions/44511645/how-to-start-bibxy-activity-using-programming – user8264
- 1. アプリが死んでもコンテンツを受け取る方法は?
- 2. 私のアプリでClass0(フラッシュ)SMSを受け取る方法は?
- 3. 私のアプリで共有コンテンツを受け取る方法は?
- 4. プッシュ通知を受け取ることをアプリが拒否した場合でも、プッシュサーバーからトークンを受け取ることはできますか?
- 5. フォーカスがない場合でも、Cocoaアプリケーションはグローバルキーボードイベントを受け取ることができますか?
- 6. SwiftのFirebase、クエリが空の場合に通知を受け取る方法は?
- 7. 私のアプリがkillであるときに通知を受け取らない
- 8. サブビューUIButtonがプレスイベントを受け取れるようにするにはどうすればいいですか?
- 9. 私のウィジェットでACTION_SCREEN_ONを受け取る方法は?
- 10. Arduinoは入力ピンに電源がない場合でも入力を受け取ります
- 11. 内部結合で特定の行を受け取る方法
- 12. AttributeオブジェクトのErrorErrorを受け取る:WITHオブジェクトのEXITが定義されている場合でも__exit__
- 13. 私のアプリがマウスホイールの傾きメッセージを受け取っていないのはなぜですか?
- 14. 私のアプリがLocalizable.stringsファイルのテキストを受け取っていないのはなぜですか?
- 15. ポートがマルチキャストグループに関係しない場合、DatagramSocket.joinGroup()メソッドがSocketAddressを受け取るのはなぜですか?
- 16. ChromeでCookieが正しい値を受け取らない
- 17. JSなしのActionCable Channelでデータを受け取る方法は?
- 18. POSTが正常に動作しない場合の値の受け渡し - PHP
- 19. ソケットがメッセージを受け取らない場合の条件の設定
- 20. カスタムリアクションネイティブコンポーネントでプレスイベントを実装する方法
- 21. アプリがオフのときにプッシュ通知を受け取る方法は?
- 22. アプリケーションが画面のテキストサイズの変更で受け取るウィンドウ
- 23. データがデータベースに挿入されている場合、アンドロイドで通知を受け取る方法
- 24. ターゲットビューへの参照がない場合のアニメーション方法は? iPhoneのための私のiOS5をアプリで
- 25. ステートメントが入力を受け付けない場合
- 26. シェルにフォーカスがない場合でもSWTのアクティブシェルを取得
- 27. PHPでマルチリクエストを受け取る方法
- 28. yii2でログメッセージを受け取る方法
- 29. 私は私のiPhoneのホーム画面にアプリを追加する場合
- 30. 正の値のみが存在する場合は0から始まり、負の値も受け入れる
ジェスチャーはすべて「AccessibilityService」を使用します。同じことをすることはできますが、ユーザーは明示的にアプリを有効にする必要があります。 –
@MikeM。ありがとうございました。このボタンイベントトリガーを登録するにはどうしたらいいですか? –