我需要从我的应用程序中执行 USSD 代码:#222*1# (hash222star1hash) 我正在处理Android Studio
。我试过了Intent.ACTION.CALL
:
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:#222*1#"));
startActivity(intent);
拨打普通号码(123456789)它可以工作,但对于前一种情况,它告诉我“输入的号码无效。
我应该怎么办?
您好,请执行以下操作来连接值
"#"
->Uri.encode("#");
例如,对于您的情况:
您需要简单地对字符进行编码
#
,并通过意图进行调用:重要的是要评论您需要在您的声明中声明的权限
AndroidManifest.xml
:但是对于操作系统高于Android 6.0的设备,您需要手动声明它们,您可以在此处找到操作方法:
Intent.ACTION_CALL 在 android 6+ 上失败
我建议你在打电话给你之前验证你是否有权限,否则不要尝试这样做
intent
,因为它会标记一个错误:它以这种方式对我有用:除了提供必要的权限......
运气...