####Secret Codes is an Open Source application that allows you to browse through hidden codes of your Android phone.
This application will scan through all available secret codes on your device.
Then you will be able to executes these secret codes a discover hidden functionalities.
In Android a secret code is defined by this pattern: *#*#<code>#*#*
.
If such a secret code is executed, the system Dialer app will trigger this code: (Source AOSP)
static private boolean handleSecretCode(Context context, String input) {
int len = input.length();
if (len > 8 && input.startsWith("*#*#") && input.endsWith("#*#*")) {
Intent intent = new Intent(TelephonyIntents.SECRET_CODE_ACTION,
Uri.parse("android_secret_code://" + input.substring(4, len - 4)));
context.sendBroadcast(intent);
return true;
}
return false;
}
There are two ways to execute a secret code:
Directly through the dialer application of your Android device.
Simply write the secret code like: *#*#123456789#*#*
.
String secretCode = "123456789";
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:*#*#" + secretCode + "#*#*"));
startActivity(intent);
String secretCode = "123456789";
String action = "android.provider.Telephony.SECRET_CODE";
Uri uri = Uri.parse("android_secret_code://" + secretCode);
Intent intent = new Intent(action, uri);
sendBroadcast(intent);
Add these lines in your AndroidManifest.xml
And whenever *#*#123456789#*#*
is submitted, your receiver will be notified.
<receiver android:name=".MySecretCodeReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SECRET_CODE" />
<data android:scheme="android_secret_code" android:host="123456789" />
</intent-filter>
</receiver>
Feel free to contribute to Android-SecretCodes.
Either you found a bug or have created a new and awesome feature, just create a pull request.
If you want to start to create a new feature or have any other questions regarding Android-SecretCodes, file an issue.
Copyright (C) 2016 Simon Marquis (http://www.simon-marquis.fr)
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.