2016-04-11 19 views
0

, Uygulama sınıfını genişlettim ve getPackageName() yöntemini geçersiz kıldım. Bu yönteme uygulamamın hayatında çeşitli bileşenlerle birçok kez denir. Bunu söyleyen webview bileşeninin olup olmadığını bilmek istiyorum.Android - Uygulamada getPackageName() öğesini geçersiz kılın ve bileşen geri çağırma alın. Bir webview bileşeni kullanan Android uygulamamda

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 ??? 
    } 
} 

Bana yardım edebilir: Burada benim kodudur?

cevap

0

Cevap vermek için biraz geç, ama bu işe yaramalı.

@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(); 
}