2017-02-10 69 views
1

只要「我的活動」啓動,我想通過輔助功能閱讀一些說明。我怎樣才能做到這一點? (我不想讀出活動標籤)Android輔助功能:讀取活動啓動時的自定義文本

+0

請提供更多的信息.​​..你想讀什麼?一個視圖,一個字符串...... –

+0

讓我們說一旦我啓動活動,它應該說「XYZ屏幕啓動,請稍候,而我們做Blah // Blah」 – Amit

+0

你想要這隻在第一個活動,當你打開應用程序或對於你打開的每一項新活動?每打開一個新活動,我都會打開這個 –

回答

2

您可以通過發佈可訪問性公告事件來完成此操作。

AccessibilityManager manager = (AccessibilityManager)mService.getSystemService(Context.ACCESSIBILITY_SERVICE); 

if (manager.isEnabled()) { 

    AccessibilityEvent e = AccessibilityEvent.obtain(); 
    e.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT); 
    e.getText().add(message); 

    //There may be other things you need to add like class/packagename, I'm doing this from memory on my non-dev machine, so if this isn't quite right I apologize, I promise it's super close! :) 

    manager.sendAccessibilityEvent(e); 
} 

請注意,您可能無法在您的活動onCreate方法中執行此操作。無障礙服務的附加存在微妙的競爭條件。如果確實將此置於onCreate不起作用,請嘗試將其添加到Runnable中,或者放在onPostResume中,我相信這是該鏈中的最新回調。但最終,如果這是一個問題,則延遲Runnable是唯一可靠的解決方法。