2011-07-29 17 views
5

Uygulamamda, yalnızca geliştiriciye sunulacak bir kod içeren bir test sayfası oluşturdum. Bu sayfa/aktiviteye sadece bir menü maddesi ile ulaşılabilir. Bir android uygulamasının hata ayıklama modunda çalışıp çalışmadığını ve bu doğru olduğunda yalnızca menü öğesini gösterip göstermeyeceğini belirlemenin bir yolu var mı?Sadece hata ayıklama modunda menü öğesini göster?

Saygılarımızla, Goldhorn

cevap

-3

KULLANIMI BU HACK Sen debuggable="true" AndroidManifest.xml ayarlanmış olup olmadığını kontrol etmeniz gerekir

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
String nOp = tm.getNetworkOperatorName(); 
if("Android".equals(nOp)) { 
    // ADD YOUR MENUS FOR EMULATOR 
} 
else { 
    // ADD YOUR MENUS FOR DEVICE 
} 
+0

bu benim aradığım tam olarak ne olduğunu sanmıyorum . Hem emülatör hem de cihazda hata ayıklamıyorum. Bu yüzden, uygulamanın bir taklitçide mi yoksa bir cihazda mı çalıştığını bilmek istemiyorum. Uygulamanın hata ayıklama modunda mı yoksa "üretim" modunda mı çalışıyor olduğunu öğrenmek istiyorum – Goldhorn

+0

oh üzgünüm ... Try @ Vino'nun cevabı? –

+0

@ Vino'nun cevabı aradığım şeydi: D – Goldhorn

4

doğrudan menü veya başka bir kaynak XML ayıklama modunu kontrol etmek için, aşağıda gibi build.gradle yılında resValue tanımlayabilirsiniz.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <!-- Automatically generated file. DO NOT MODIFY --> 

    <!-- Values from build type: debug --> 
    <bool name="DEBUG">true</bool> 

</resources> 

Şimdi bu değerleri kullanabilirsiniz ve menu.xml yılında: generated.xml yılında

buildTypes { 
    release { 
     ... 
     resValue "bool", "DEBUG", "false" 
    } 
    debug { 
     ... 
     resValue "bool", "DEBUG", "true" 
    } 
} 

biz alacak

<item android:visible="@bool/DEBUG" ... /> 
+0

Ve değeri programatik olarak almak için: 'DEBUG_MODE = getResources(). GetBoolean (R.bool.DEBUG);' –

İlgili konular