Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从onPageFinished方法获取扩展URL_Java_Android Studio_Url - Fatal编程技术网

Java 从onPageFinished方法获取扩展URL

Java 从onPageFinished方法获取扩展URL,java,android-studio,url,Java,Android Studio,Url,我试图从onPageFinished方法内部获取字符串,但找不到方法 我只想要onPageFinished方法中存在的扩展链接问题是,无论我使用什么字符串,它都会显示为null final WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebViewClient(new WebViewClient()); final String[] finalURL = {""}; String url1 =

我试图从onPageFinished方法内部获取字符串,但找不到方法 我只想要onPageFinished方法中存在的扩展链接问题是,无论我使用什么字符串,它都会显示为null

 final WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());

final String[] finalURL = {""};
String url1 = "https://shorturl.at/bFQW9";
myWebView.loadUrl(url1);

myWebView.setWebViewClient(new WebViewClient() {


    public void onPageFinished(WebView view, String url) {

        finalURL[0] = myWebView.getUrl();


    }
});
System.out.println(finalURL[0]);

您使用了错误的WebViewClient实例,设置了两次,然后在设置的第一个WebViewClient实例上加载页面。 还有一种可能性是,在您拨打电话打印finalURL[0]时,它不会被设置。 下面的代码考虑了我所说的,应该可以解决您的问题。 您应该在onPageFinished中处理所有依赖finalURL[0]的事情

final WebView myWebView = (WebView) findViewById(R.id.webview);
final String[] finalURL = {""};
String url1 = "https://shorturl.at/bFQW9";

myWebView.setWebViewClient(new WebViewClient() {
    public void onPageFinished(WebView view, String url) {
        finalURL[0] = myWebView.getUrl();
        System.out.println(finalURL[0]);
    }
});
myWebView.loadUrl(url1);

我正在开发一个反钓鱼系统,其中一个问题是我使用myWebView.getUrl()的短链接;在onPageFinished内部,因为这样我将获得原始的扩展URL(我已经尝试过了,并且它工作了)。问题是,值只存在于onPageFinished方法内部,我需要将扩展链接的值复制到该方法外部,以便我可以在Blacklist中搜索,只需从onPageFinished()内部执行该代码否则,唯一的另一种解决方案是创建一些等待设置值的内容,这些内容最终会阻塞UI线程,或者创建一个回调处理程序,在调用onPageFinished()后执行。如果正确构造finalURL变量,则不需要它