在我使用 webview 组件的 Android 应用程序中,我扩展了 Application 类并覆盖了 getPackageName() 方法。各种组件在我的应用程序的生命周期中多次调用此方法。我想知道是不是调用它的 webview 组件。 这是我的代码:
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 ???
}
}
你能帮帮我吗?
最佳答案
回答有点晚了,但这应该可行。
@Override
public String getPackageName()
{
try
{
throw new Exception();
}
catch (Exception e)
{
StackTraceElement[] elements = e.getStackTrace();
for (StackTraceElement element: elements)
{
if(element.getClassName().startsWith("android.webkit."))
{
return null;
}
}
}
return super.getPackageName();
}
关于Android - 在应用程序中覆盖 getPackageName() 并获取组件回调。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36543687/