2015-07-22 21 views
1

要啓用基於對調試的標誌Google recommends the following code的WebView調試:爲什麼Google推薦用於WebView調試的代碼?

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
    if (0 != (getApplicationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE)) {  
     WebView.setWebContentsDebuggingEnabled(true); 
    } 
} 

,這是否有副作用,因爲&=運營商重新分配flag場?我假設在這次調用之後應用程序標誌被減少到FLAG_DEBUGGABLE。你爲什麼要&=運營商而不是&

回答

-1

不,&=表示getApplicationInfo().flags = getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE,它只是從0設置該標誌爲1

它就像+=|=這縮短了表達一下。

所有現有的標誌將被保留。

1

是的,這是文檔中的錯誤。代碼被破壞。它的確從ApplicationInfo.flags中除去FLAG_DEBUGGABLE以外的任何標誌。正確的檢查是getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE。此檢查不會修改flags字段。

相關問題