2013-06-04 152 views
0

有沒有一種在調試時關閉亂舞的有效方法?android - 在調試時關閉亂舞

現在我能想到的最好的辦法是設置一個DEBUG變量設置爲true在一個文件中,並在所有的活動中

super.onStart(); 
    if(PublicStuff.DEBUG != true) //if debug = false run this code 
     FlurryAgent.onStartSession(this, "2C3QVVZMX8Q5M6KF3458"); 

做我也需要區分出亂舞logEvent方法?

有沒有更好的方法?

感謝

回答

2

看在Debug類的isDebuggerConnected()方法。這告訴你到底你需要知道什麼。

+0

好這個方法是尋找一個調試器,但如果手機沒有連接到電腦什麼,但仍使用與調試密鑰庫創建一個構建,例如,如果您拔掉了設備從電腦走開。 – CQM

+4

使用無效的Flurry鍵(我使用'XXX')進行開發。然後使用ant構建您的應用程序版本,並在構建過程中使用生產密鑰替換密鑰。這樣你可以爲不同的版本(dev,test和prod)設置不同的密鑰。 – SimonSays

0

這是我如何實現這一目標的。我創建了一個類似於UserEvents類的東西,其中包含所有可分析的可記錄事件(在本例中爲Flurry)。在記錄事件之前,我檢查構建是否不處於DEBUG模式。請參見下面的代碼示例:

public class UserEvents { 
    public static final String CLICK_RATINGS = "click_ratings"; 
    public static final String CLICK_SHARE = "click_share"; 
    public static final String CLICK_CREDITS = "click_credits"; 
    public static final String CLICK_PRIVACY = "click_privacy"; 
    ... 

    private static boolean isNotLoggable(){ 
     return BuildConfig.DEBUG; 
    } 

    public static void logEvent(String event) { 
     if(isNotLoggable()) return; 
     logEvent(event); 
    } 

    ... 
}