У меня есть веб-представление, в котором я хочу получить URL, когда пользователь долго нажимает на ссылки. Я знаю, что могу сделать это:
// Register the context menu for web view
registerForContextMenu(webView);
И:
@Override
public void onCreateContextMenu(@NonNull ContextMenu menu, @NonNull View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
final WebView.HitTestResult result = webView.getHitTestResult();
Log.i("url is ===" , "result.getExtra()")
}
Но так, в некоторых поисковых системах, таких как Google , нельзя возвращать URL. Это мой журнал, когда я долго нажал на результатах поиска Google:
данные: изображение / PNG; base64, iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8 / 9hAAAA + klEQVR4AWMgBnwr4pRloAR8KuA89KmAK4V8A / LZ1YGGvPiQy65MtCaQjR8LuDxh / M8FXNlAQ078D2VgJs6APE6rjwWcj4CaOkGaIIZybPucz1FHvCuyeYVBmkBhAArIL6XcEiCvfCzkNMOpCeRPoPMXgFyACAPOcnAYFLK7fSrkDAR6rQmnAe / KBfmBNhQCDbkGtP0yyO8gsU + FHLYgL4EClGgvgDR9zudcCrT9PchVX4q49YmKc5AmkLNBsQDyOygsQK4iygCQoo8FHLGg0AcFIDQm3gPpvXg1zlu88j ++ 2ACFPB51CAmgbf9xYcIGEAAEDSAWM1ATAAC4CbdSzzGZLwAAAABJRU5ErkJggg ==
Я загружаю веб-браузер с открытым исходным кодом из GitHub. В этом проекте Программист делает это, и это работает:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// Get link-URL.
String url = (String) msg.getData().get("url");
Log.i("get url" , url);
}
};
Поэтому я пишу этот код в своем приложении, но handleMessage не будет запущен. Нужно ли что-нибудь еще сделать, чтобы использовать handleMessage метод?
Знаете ли вы другой способ получить URL в результатах поиска Google?