阻止Android的所有對話框,這意味着無論是應用程序還是Android系統都不會出現對話框,直到我的服務正在運行。有沒有辦法做到這一點編程?開始阻止服務中的對話框
6
A
回答
0
我不認爲有可能阻止所有彈出窗口。
對我來說它是有道理的,Android不允許這樣做。
但是,你可以嘗試(如果你真的想:))使你的應用程序Accessibility Service這將彈出顯示,並立即關閉它作出反應。要關閉彈出窗口,您可以在上面找到一些取消按鈕並執行點擊或performGlobalAction(GLOBAL_ACTION_BACK);
(如果它可取消)。
檢查出一些代碼在這裏找到一個彈出:Android unable read window content on few devices using accessibility service(我不知道這是否會工作)
您還可以查看此獲得關於如何取景一些更多的靈感和製作點擊使用輔助服務的任何應用程序:Programmatically enabling/disabling accessibility settings on Android device
編輯:更多的細節
您需要按照這個標準教程添加SERVIC E要你的應用程序:https://developer.android.com/training/accessibility/service.html
首先要注意的是,你應該決定使用XML配置,包括android:canRetrieveWindowContent="true"
像在教程:
<accessibility-service
android:accessibilityEventTypes="typeViewClicked|typeViewFocused"
android:packageNames="com.example.android.myFirstApp, com.example.android.mySecondApp"
android:accessibilityFeedbackType="feedbackSpoken"
android:notificationTimeout="100"
android:settingsActivity="com.example.android.apis.accessibility.TestBackActivity"
android:canRetrieveWindowContent="true"
/>
,我想你不會需要行android:packageName
然後,你需要在實驗回調方法應該發生什麼 - 這裏只是我粗略的建議:
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
AccessibilityNodeInfo source = event.getSource();
if(event.getEventType()==AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED)
if(isAlert(source)) //explore the view (maybe recursively) to find if there is an alert
performGlobalAction(GLOBAL_ACTION_BACK);
}
和遞歸方法可以像
private boolean isAlert(AccessibilityNodeInfo view){
int count = view.getChildCount();
boolean result = false;
for(int i=0; i<count; i++){
AccessibilityNodeInfo child = view.getChild(i);
if(child.getClassName().contains("Alert")){
return true;
}
if (explore(child));
result = true;
child.recycle();
return result;
}
相關問題
- 1. 阻止UAC對話框
- 2. 進度對話框阻止
- 3. Javascript中的模態阻止對話框
- 4. 阻止DOM重繪的對話框
- 5. 打開jQuery對話框服務器端
- 6. Android開始/停止服務
- 7. 如何阻止QnAMaker對話框返回到父對話框?
- 8. 如何使用jQuery/UI的對話框阻止對話(「打開」)調用
- 9. facebook阻止驗證對話框
- 10. 如何阻止Umbraco顯示對話框?
- 11. jQuery對話框阻止Firefox熱鍵
- 12. 用對話框阻止Android線程
- 13. jQuery UI模式對話框不阻止
- 14. Android:阻止RPC進度對話框
- 15. 阻止JavaFX對話框關閉
- 16. 打開模式對話框阻止了操作(Cucumber,Watir-WebDriver,Chrome)
- 17. 阻止對WCF服務的CSRF攻擊
- 18. 如何在查詢Exchange Web服務時阻止Outlook提示對話框?
- 19. jQuery對話框在asp.net初始化對話框與服務器端調用
- 20. 結果的開始對話框
- 21. AlertDialog中的ListView,阻止它改變對話框的高度
- 22. Internet Explorer中的模態對話框覆蓋不阻止懸停
- 23. 開始,停止節點Express服務器
- 24. 從Form App開始停止服務c#
- 25. 停止服務器我從未開始?
- 26. 遠程檢查/開始/停止服務
- 27. 從觸發器開始對話框
- 28. 防止對話框阻止用戶註銷?
- 29. 如何停止gvim打開對話框?
- 30. jQuery對話框打開(不止一次)?
你能否提供一些樣板/或幫助代碼這樣做,因爲我不出來呢 –
OK,我只是快速添加一些代碼,使我你的問題的想法。 – Tom
我仍然無法複製你的想法 –