我不知道如何调用Android源代码中的*#06#等Android密码。我尝试使用 ACTION_CALL 和 ACTION_DIAL 但它无效。
我希望你能给我一个解决方案。十分感谢。
我不知道如何调用Android源代码中的*#06#等Android密码。我尝试使用 ACTION_CALL 和 ACTION_DIAL 但它无效。
我希望你能给我一个解决方案。十分感谢。
假设您输入 ' ## 1234*#*#' ,android 提取数字并发送此广播:
sendBroadcast(new Intent("android.provider.Telephony.SECRET_CODE",
Uri.parse("android_secret_code://" + "1234")));
数据意图 Uri 方案类似于tel://*#06#
编码形式……但话虽如此,已经进行了修复,以防止漏洞利用格式化您的手机,就像三星的情况一样。
修复涉及过滤 Uri,如果它包含该方案,它将拒绝它,请记住这一点!
旧手机很容易被用于那些早于 ICS 的版本,但市场上有可用的修复程序来拦截上述 Uri 意图。较新版本的 Android 已修补。
看这里,这个答案真的可以帮助你。
此外,根据您想要获得的内容,该TelephonyManager
课程可能会对您有所帮助。例如拨打*#06#获取设备的IMEI,在你的代码中可以通过调用该TelephonyManager.getDeviceId()
方法获取。
你像这样使用它:
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
tm.getDeviceId();
很久以前这对我有用..
String encodedHash = Uri.encode("#");
String ussd = "*" + encodedHash + "123" + encodedHash;
startActivityForResult(new Intent("android.intent.action.CALL",
Uri.parse("tel:" + ussd)), 1);
从那以后再也没有尝试过...