Android - 在应用程序中覆盖 getPackageName() 并获取组件回调。

标签 android webview callback

在我使用 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/

相关文章:

java - 尝试使用 ViewPager 和 GridView 在 android 中创建图片库时出现错误

java - Android:让应用程序使用共享首选项提醒答案

android - 半透明导航栏 Lollipop (fitsSystemWindows ="true")

android - fragment 中的 Sharedpreference Edittext

ios - 从 WebView 的文本字段中禁用复制和粘贴菜单。我的应用程序基于 IOS Phonegap。

c++ - 将回调函数移动到类会导致错误!

android - 在webview中获取支付网关的回调

java - 根据按钮链接在 webview 中显示特定的 url

带参数的 Python Matplotlib 回调函数

c - 防止 C 中不兼容的函数转换?