2011-07-29 22 views
5

W mojej aplikacji utworzyłem stronę testową z kodem, który będzie dostępny tylko dla programisty. Tę stronę/działanie można osiągnąć tylko za pośrednictwem pozycji menu. Czy istnieje sposób sprawdzenia, czy aplikacja na Androida działa w trybie debugowania i pokazuje tylko pozycję menu, gdy jest to prawda?Wyświetlanie pozycji menu tylko w trybie debugowania?

pozdrowienia, Goldhorn

Odpowiedz

-3

użyć tej HACK

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

I nie sądzę, że to jest dokładnie to, czego szukam . Debuguję na emulatorze i urządzeniu. Nie chcę więc wiedzieć, czy aplikacja działa w emulatorze czy na urządzeniu. Chcę się dowiedzieć, czy aplikacja działa w trybie debugowania, czy w trybie "produkcji". – Goldhorn

+0

oh ... Przepraszam ... Spróbuj @ Vino? –

+0

@ Odpowiedź Vino była tym, czego szukałem: D – Goldhorn

4

Aby sprawdzić tryb debugowania bezpośrednio w menu lub innego XML zasobów, możemy zdefiniować resValue w build.gradle jak poniżej.

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

W generated.xml otrzymamy:

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

Teraz możemy korzystać z tej wartości w menu.xml:

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

I aby uzyskać wartość programowo: 'DEBUG_MODE = getResources(). GetBoolean (R.bool.DEBUG);' –

Powiązane problemy