cocos2dx3.16 ,使用 WebView 打开网页url, 网页中有 电话号码, 点击 电话号码,在ios 中可以 打电话,在安卓中出现 无法加载
本人没写过安卓,请问需要 在 Cocos2dxWebView.java 中怎么修改 ,急急急本人修改了 Cocos2dxWebView.java 中的 class Cocos2dxWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, final String urlString) {
Cocos2dxActivity activity = (Cocos2dxActivity)getContext();
try {
URI uri = URI.create(urlString);
if (uri != null && uri.getScheme().equals(mJSScheme)) {
activity.runOnGLThread(new Runnable() {
@Override
public void run() {
Cocos2dxWebViewHelper._onJsCallback(mViewTag, urlString);
}
});
return true;
}
} catch (Exception e) {
Log.d(TAG, "Failed to create URI from url");
}
boolean[] result = new boolean[] { true };
CountDownLatch latch = new CountDownLatch(1);
// run worker on cocos thread
System.out.println("luaonKeyDown--------------------- " );
if (urlString.startsWith("tel:"))
{
System.out.println("luaonKeyDown--------------------- 111 " );
//Intent intent = new Intent(Intent.ACTION_DIAL ,
// Uri.parse(urlString));
//intent.setData( Uri.parse(urlString) );
Uri telUri = Uri.parse("tel:1008611");
Intent intent = new Intent( Intent.ACTION_DIAL, telUri );
intent.setData( telUri );
startActivity(intent);
}
else
{
System.out.println("luaonKeyDown---------------------2222 " );
activity.runOnGLThread(new ShouldStartLoadingWorker(latch, result, mViewTag, urlString));
}
// wait for result from cocos thread
try {
latch.await();
} catch (InterruptedException ex) {
Log.d(TAG, "'shouldOverrideUrlLoading' failed");
}
return result[0];
}
private void startActivity(Intent intent) {
// TODO Auto-generated method stub
System.out.println("luaonKeyDown–startActivity------------------- 111 " );
}
想测试 拨打 1008611 , 直接卡死 , 华为手机 荣耀9, 安卓8.0系统