问题描述
嘿,我正在为 Android 构建 Chromium,我想弄清楚为什么 Javascript 接口不允许我在 Chrome Activity 类的网页中注入 javascript .. 即使我单独调用 tab.getWebContents().evaluateJavaScript() ,浏览器死机。有没有办法成功实现这一目标?下面是我的代码片段
import org.chromium.content.browser.JavascriptInterface;
// Chrome Activity
public abstract class ChromeActivity<C extends ChromeActivityComponent>
....
@Override
public void onDidFinishNavigation(Tab tab,String url,boolean isInMainFrame,boolean isErrorPage,boolean hasCommitted,boolean isSameDocument,boolean isFragmentNavigation,@Nullable Integer pageTransition,int errorCode,int httpStatusCode)
{
JavascriptInjector ji = JavascriptInjector.fromWebContents(tab.getWebContents());
tab.getWebContents().evaluateJavaScript("alert("Hello World");",null);
ji.setAllowinspection(true);
ji.addPossiblyUnsafeInterface(new MyJavaScriptInterface(ChromeActivity.this),"JS",JavascriptInterface.class);
}
class MyJavaScriptInterface {
ChromeActivity context;
public MyJavaScriptInterface(ChromeActivity activity) {
this.context = activity;
}
@JavascriptInterface
public void app(){
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(this.context,"Test",duration);
toast.show();
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)