-3

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

我希望你能给我一个解决方案。十分感谢。

4

4 回答 4

1

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

 sendBroadcast(new Intent("android.provider.Telephony.SECRET_CODE",
                            Uri.parse("android_secret_code://" + "1234")));
于 2013-09-05T08:54:44.683 回答
1

数据意图 Uri 方案类似于tel://*#06#编码形式……但话虽如此,已经进行了修复,以防止漏洞利用格式化您的手机,就像三星的情况一样。

修复涉及过滤 Uri,如果它包含该方案,它将拒绝它,请记住这一点!

旧手机很容易被用于那些早于 ICS 的版本,但市场上有可用的修复程序来拦截上述 Uri 意图。较新版本的 Android 已修补。

于 2013-05-07T20:16:20.953 回答
0

看这里,这个答案真的可以帮助你。

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

你像这样使用它:

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.getDeviceId();
于 2013-05-07T20:14:19.130 回答
0

很久以前这对我有用..

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

从那以后再也没有尝试过...

于 2013-05-07T20:10:49.867 回答