有没有办法用ussd打开应用程序?

Is there any way to open an app with ussd?

当用户在他的 phone 中使用 USSD 代码时,他按下呼叫按钮后我的应用程序将打开吗?就像您使用此代码 *123*2# 并且应用程序打开并显示您键入“2”!

我从未见过这样的应用程序,但值得一试

提前致谢。

或者当用户使用 ussd a link 在网络上打开时? 像这样 *123*1*2# 在调用 link 类似站点后。com/abc.php 打开 ?

我不确定是否可以通过 USSD 直接打开应用程序。您可能想要使用推送通知。因此,当用户拨打 USSD 代码时,您会向 phone 发送推送通知,以便通过通知提示打开应用程序。

您必须创建广播接收器才能获得您想要的内容。

数字格式 *#*#xxxx#*#*, like- *#*#125#*#*.

现在创建接收器

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class OpenApp extends BroadcastReceiver {

@Override
 public void onReceive(Context context, Intent intent) {
 String val = intent.getData().getHost();
 Intent i = new Intent(context, MainActivity.class);
 i.putExtra("data", val);
 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(i);
 }
}

现在在 AndroidManifest 中注册接收器:

<receiver android:name=".OpenApp">
<intent-filter>
    <action android:name="android.provider.Telephony.SECRET_CODE" />
    <data android:scheme="android_secret_code" android:host="125"/>
</intent-filter>

就这些了。