Как получить URL-адрес результатов поиска Google из длинного клика в веб-представлении? - PullRequest
0 голосов
/ 09 марта 2020

Я нахожу этот код (благодаря VikaS GuttE ), чтобы получить URL при длительном нажатии на ссылки для просмотра веб-страниц:

public class MainActivity extends AppCompatActivity {

WebView webView;
String URL1 = "https://stackoverflow.com/questions/ask";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    webView = findViewById(R.id.webview);

    webView.clearHistory();
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.setWebViewClient(new WebViewClient() {

        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

        }

        public void onPageFinished(WebView view, String url) {

        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            URL1 = url;
            return super.shouldOverrideUrlLoading(view, url);
        }
    });
    webView.loadUrl(URL1);
    // Register the context menu for web view
    registerForContextMenu(webView);
}

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);

    // Get the web view hit test result
    final WebView.HitTestResult result = webView.getHitTestResult();

    // If user long press on url
    if (result.getType() == WebView.HitTestResult.ANCHOR_TYPE ||
            result.getType() == WebView.HitTestResult.SRC_ANCHOR_TYPE) {

        // Set the title for context menu
        menu.setHeaderTitle("\t\t\t\t\t\t\t\t\t\t ◦ ◉ ⦿ Select ⦿ ◉ ◦ \t");

        // Add an item to the menu
        menu.add(0, 1, 0, " \t \t➤\t Show URL")
                .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem menuItem) {
                        String Pressed_url = result.getExtra();
                        Toast.makeText(MainActivity.this, "URL is:-" + Pressed_url,
                                Toast.LENGTH_SHORT).show();
                        return false;
                    }
                });
    }
}
}

Этот код не вызывает проблем, но когда длительный клик по результату поиска Google, строка возврата, подобная этой, содержащая изображение сайта:

data: image / png; base64, iVBORw0KGgoAAAANSUhEUgAAANSUhEUgAAABUAHAUAAAQCAMAAAAoLQ9TAAAAJFBMVEVHcEz / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD / AAD g4P ///// KCJ / 7e0I8rGvAAAAB3RSTlMAT0g5Ggp + EilkVQAAAENJREFUGJVjYCAGsDAzggEzC5jLxo4E2BgYWNlRACsDM5jmggkwMzCBaQ5uqBATTICTk4OAAEILhqEY1mI4DNPphAAASIsES4gsgWgAAAAASUVORK5CYII =

Как я могу получить Google Результаты поиска ссылки на длинных клик в веб-просмотра? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...