我知道可以覆蓋Android中的後退按鈕功能,但我想知道是否有方法或任何可以調用的方法,它們在功能上與按下硬件按鈕的功能相同。以編程方式調用硬件返回按鈕?
14
A
回答
21
你可以後退按鈕按下發送到系統這樣
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
或者你可以重寫後退按鈕按下並在您的活動呼籲
finish();
。這基本上和通用後退按鈕一樣。
12
0
如果你想只是 「按」 硬件按鈕, 創建AccessibilityService
超期服役:
class ExampleAccessService:AccessibilityService() {
override fun onInterrupt() {
}
override fun onAccessibilityEvent(event: AccessibilityEvent?) {
}
fun doAction(){
performGlobalAction(GLOBAL_ACTION_RECENTS)
// performGlobalAction(GLOBAL_ACTION_BACK)
// performGlobalAction(GLOBAL_ACTION_HOME)
// performGlobalAction(GLOBAL_ACTION_NOTIFICATIONS)
// performGlobalAction(GLOBAL_ACTION_POWER_DIALOG)
// performGlobalAction(GLOBAL_ACTION_QUICK_SETTINGS)
// performGlobalAction(GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN)
}
}
呼叫您要行動
添加到Manifest
doAction()
:
<application
...
<service
android:name=".ExampleAccessService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="Name of servise" // it will be viewed in Settings->Accessibility->Services
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService"/>
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service_config"/>
</service>
...
</application>
accessibili ty_service_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackAllMask"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="false"
android:description="your description"
android:notificationTimeout="100"
android:packageNames="your app package, ex: ex: com.example.android"
android:settingsActivity="your settings activity ex: com.example.android.MainActivity" />
更多信息看https://developer.android.com/guide/topics/ui/accessibility/services.html
相關問題
- 1. 如何以編程方式禁用android硬件按鈕?
- 2. 以編程方式返回
- 3. 如何以編程方式調用Firefox按鈕/插件
- 4. 以編程方式調用按鈕的點擊方法
- 5. iPhone:以編程方式按下按鈕
- 6. 以編程方式按下按鈕
- 7. 如何以編程方式調用UINavigationBar中的後退按鈕?
- 8. 以編程方式調用ASP.net客戶端的按鈕點擊
- 9. 返回按鈕上的調用方法
- 10. 以編程方式添加按鈕
- 11. Android以編程方式聲明按鈕?
- 12. 以編程方式切換按鈕on_state?
- 13. 如何防止用戶按下GoBack硬件按鈕後返回?
- 14. 如何以編程方式使用Android按鈕XML文件
- 15. Javascript - 以編程方式調用事件
- 16. 如何以編程方式生成按鈕名稱按鈕
- 17. 是否可以通過編程方式啓用/禁用硬件?
- 18. 如何使用C#SendKeys以編程方式按Windows按鈕
- 19. 編程方式檢測硬件調用的存在/掛斷鍵
- 20. 檢測硬件「返回」按鈕被按下
- 21. 以編程方式調整圖像按鈕的大小以保持方形
- 22. android - 可能使用戶操作模擬硬件'返回'按鈕?
- 23. 鍵入edittext後硬件「返回」按鈕不起作用
- 24. 以編程方式設置按鈕對齊方式
- 25. 以編程方式將按鈕添加到UWP應用程序
- 26. 在iOS中以編程方式禁用藍牙硬件?
- 27. 以編程方式使用硬件隨機數字發生器
- 28. jQuery Mobile - 返回(硬件)按鈕在應用程序中不起作用
- 29. 以編程方式觸發按鈕事件
- 30. iPhone,如何以編程方式觸發按鈕事件
在我的代碼不工作...告訴我將其更改爲ACTION_DOWN,並KEYCODE_BACK不存在,那會我需要爲他們導入被發現? – JuiCe 2012-07-31 19:23:48
嘗試使用KeyEvent.ACTION_DOWN和KeyEvent.KEYCODE_BACK :) – jimmithy 2012-07-31 19:26:36
非常感謝你們。 – JuiCe 2012-07-31 19:29:10