我不知道如何在Android源代码中调用Android密码,例如*#06#。我尝试使用ACTION_CALL和ACTION_DIAL,但它无效。
我希望你能给我一个解决方案。非常感谢。
答案 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")));