Jak uruchomić aplikację, gdy do dialera zostanie wprowadzony tajny kod, na przykład *#*#12345#*#*
?Czy mogę uruchomić moją aplikację po wprowadzeniu tajnego kodu?
Nie mogłem znaleźć rozwiązania w dokumentach systemu Android.
Jak uruchomić aplikację, gdy do dialera zostanie wprowadzony tajny kod, na przykład *#*#12345#*#*
?Czy mogę uruchomić moją aplikację po wprowadzeniu tajnego kodu?
Nie mogłem znaleźć rozwiązania w dokumentach systemu Android.
To jak to zrobiłem:
zmieniłem główną działalność nie mieć intent-filtry:
<activity
android:name=".ParentTrap"
android:label="@string/title_activity_parent_trap"
android:theme="@android:style/Theme.Holo" >
</activity>
I wtedy popełnił odbiornika audycji z zamiarem działania filtra: android.provider.Telephony.SECRET_CODE
Dodałem do niego dane. Cała sprawa jest poniżej:
<receiver android:name=".ParentTrap$Launch" >
<intent-filter>
<action android:name="android.provider.Telephony.SECRET_CODE" />
<data
android:host="(secret code)"
android:scheme="android_secret_code" />
</intent-filter>
</receiver>
Gdy to zrobisz, upewnij się klasę (Zrobiłem klasę uruchomienie w moim głównej klasy, rozszerzając Odbiornik radiowy), a następnie w onReceive klasy, ogień o zamiarze rozpoczęcia działalności.
Następnie wpisanie *#*#(secret code)#*#*
do dialera spowoduje uruchomienie aplikacji.
To nie działa dla mnie na Samsung Galaxy Note GT-N7000 z Androidem 4.1.2. Czy musimy zrobić coś jeszcze, aby to zadziałało? – Manish
@Manish była aplikacją otwartą przed próbą? –
Tak Zrobiłem pustą aktywność. Proszę zobaczyć moje pytanie związane z tym: http://stackoverflow.com/questions/18901339/android-provider-telephony-secret-code-reserved-for-system-apps i proszę o pomoc, jeśli możesz. – Manish
Tworzenie odbiornik audycji z tej akcji:
W dodatkami można znaleźć the dialed number.
Edytuj: Oto tutorial dla odbiornika transmisji.
Nie tak ... Ale może być konieczne. –
Nie sądzę, że jesteś w stanie przechwycić prostą czynność wybierania bez wywoływania ... – eftokay83
Ach, mówiłem o sekretnych kodach * # * #, ale wymyśliłem, jak z nich korzystać :) –
Zainstalowany odbiornik może powinieneś zarejestrować się w odpowiednim działaniu. Na przykład Intent.ACTION_CALL wygląda obiecująco. Problem polega na tym, jak filtrować intencje, aby otrzymać tylko tę konkretną liczbę. Podejrzewam, że będzie to wyglądać tak (ja Gesing na podstawie tego co znalazłem w dokumentacji):
<action name=".YourAction">
<intent-filter . . . >
<action android:name="android.intent.action.CALL" />
<!-- data is crutial here, you have to figuire it out exacly yourself -->
<data android:scheme="tel" android:path="yourSpecyficSecretCode" />
</intent-filter>
</action>
Look here i here. Użyj LogCat, aby zobaczyć, jakie dokładnie intencjonalne kontatyny możesz następnie poprawnie przefiltrować.
Dlaczego po prostu nie zaimplementujesz ekranu powitalnego, na którym trzeba wpisać kod? – 4ndro1d