如何在源代码中执行秘密的Android代码?

时间:2013-05-07 20:08:01

标签: android

我不知道如何在Android源代码中调用Android密码,例如*#06#。我尝试使用ACTION_CALL和ACTION_DIAL,但它无效。

我希望你能给我一个解决方案。非常感谢。

4 个答案:

答案 0 :(得分:1)

数据意图Uri方案类似于编码形式的tel://*#06# ...但是,已经说过,已经做了一些修复,以防止利用格式化手机,就像三星的情况一样。

修复涉及过滤Uri,如果它包含所述方案,它将拒绝它,需要注意的事项!

较早的手机很容易被用于ICS之前的那些版本,但是市面上可用的修复程序可以拦截Uri的意图。更新版本的Android已修补。

答案 1 :(得分:0)

很久以前这对我很有用..

String encodedHash = Uri.encode("#");
String ussd = "*" + encodedHash + "123" + encodedHash;
startActivityForResult(new Intent("android.intent.action.CALL",
Uri.parse("tel:" + ussd)), 1);

从那时起再也没有尝试过......

答案 2 :(得分:0)

看这里,this answer可以真正帮助你。

此外,根据您要获得的内容,TelephonyManager课程可能会对您有所帮助。例如,通过拨打*#06#获得的设备的IMEI可以在您的代码中通过调用TelephonyManager.getDeviceId()方法获得。

你这样使用它:

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.getDeviceId();

答案 3 :(得分:0)

假设您输入'#1234 *#*#',android提取数字并发送此广播:

 sendBroadcast(new Intent("android.provider.Telephony.SECRET_CODE",
                            Uri.parse("android_secret_code://" + "1234")));