How would I make my app launch when a secret code, such as *#*#12345#*#*
is entered into the dialer?
I couldn't find a solution in the Android docs.
This is how I did it:
I changed my main activity to have no intent-filters:
<activity
android:name=".ParentTrap"
android:label="@string/title_activity_parent_trap"
android:theme="@android:style/Theme.Holo" >
</activity>
I then made a broadcast receiver with the intent filter action: android.provider.Telephony.SECRET_CODE
I then added data to it. The entire thing is below:
<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>
Once done, make a class (I made the Launch class in my main class, extending BroadCast Receiver), then in the onReceive class, fire an intent to launch the activity.
Then typing *#*#(secret code)#*#*
into the dialer will launch the app.
Create a broadcast receiver with this action:
In the extras you find the dialed number.
Edit: Here is tutorial for broadcast receiver.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With