【问题标题】:Redirect chrome programmatically以编程方式重定向 chrome
【发布时间】:2017-03-11 05:56:50
【问题描述】:

我已经能够使用以下代码使用无障碍服务阅读 chrome 内容

<accessibility-service   xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityFlags="flagDefault"
android:accessibilityEventTypes="typeWindowStateChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:notificationTimeout="0"
android:canRetrieveWindowContent="true"
android:packageNames="com.android.chrome"
android:description="@string/accessibility_description"
/>

我使用监听窗口更改事件

public void onAccessibilityEvent(AccessibilityEvent event) {
if(AccessibilityEvent.eventTypeToString(event.getEventType()).contains("WINDOW")){
     AccessibilityNodeInfo nodeInfo = event.getSource();
     dfs(nodeInfo);
}
}

public void dfs(AccessibilityNodeInfo info){
if(info == null)
    return;
if(info.getText() != null && info.getText().length() > 0)
    System.out.println(info.getText() + " class: "+info.getClassName());
for(int i=0;i<info.getChildCount();i++){
   AccessibilityNodeInfo child = info.getChild(i);
   dfs(child);
   child.recycle();
}
}

现在基于 URL 内容,我想在从设备存储中获取静态页面后打开重定向 chrome 到不同的页面或加载静态页面。我试图实现它,但直到现在都没有成功。任何帮助,将不胜感激。提前致谢。

【问题讨论】:

标签: android google-chrome accessibilityservice


【解决方案1】:

试试这个代码

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(Constant.URL_REPLACE));
        intent.setPackage("com.android.chrome");
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.putExtra(Browser.EXTRA_APPLICATION_ID,"com.android.chrome");
        try {
            mContext.startActivity(intent);
        } catch (ActivityNotFoundException ex) {
            Log.e(TAG, "Exception = " + ex.toString());
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 2018-10-23
    • 1970-01-01
    相关资源
    最近更新 更多