Android 在webview应用程序中更改getPackageName(),可以正常工作,但
来自的答案很好,但我不知道如何知道getPackageName()方法的调用是否来自webkit。这是我的密码:Android 在webview应用程序中更改getPackageName(),可以正常工作,但,android,webview,webkit,Android,Webview,Webkit,来自的答案很好,但我不知道如何知道getPackageName()方法的调用是否来自webkit。这是我的密码: package com.xxx.xxx; import android.app.Application; public class Global extends Application { private static Global instance; public Global() { instance = this; }
package com.xxx.xxx;
import android.app.Application;
public class Global extends Application {
private static Global instance;
public Global() {
instance = this;
}
private final String PACKAGE="com.webnews.appdirector";
@Override
public void onCreate() {
super.onCreate();
}
@Override
public String getPackageName() {
return PACKAGE; //this work fine, but how to know if is webkit callback ??? "instance" have mcomponentcallbacks set to webkit, but how to read it ???
}
}
我可以调试“instance”的“McComponentCallbacks”,但我不知道如何阅读它
您能帮助我吗?尝试从线程检查堆栈跟踪:
StackTraceElement[] stack = Thread.currentThread().getStackTrace();
for (StackTraceElement element : stack) {
System.out.println ("\t" + element);
}
结果:
lsk.test.Global.getPackageName(Global.java:43)
android.content.ContextWrapper.getPackageName(ContextWrapper.java:133)
org.chromium.base.BuildInfo.getPackageVersionName(BuildInfo.java:92)
org.chromium.content.browser.BrowserStartupController.nativeSetCommandLineFlags(Native Method)
org.chromium.content.browser.BrowserStartupController.access$700(BrowserStartupController.java:40)
android.webkit.WebView.<init>(WebView.java:606)
android.webkit.WebView.<init>(WebView.java:542)
lsk.test.Global.getPackageName(Global.java:43)
content.ContextWrapper.getPackageName(ContextWrapper.java:133)
org.chromium.base.BuildInfo.getPackageVersionName(BuildInfo.java:92)
org.chromium.content.browser.BrowserStartupController.nativeSetCommandLineFlags(本机方法)
org.chromium.content.browser.BrowserStartupController.access$700(BrowserStartupController.java:40)
webkit.WebView.(WebView.java:606)
webkit.WebView.(WebView.java:542)