有什么办法可以用usd打开应用程序?

时间:2019-06-13 05:50:47

标签: android ussd

当用户按下要打开的应用程序的通话按钮后,是否可以在手机中使用USSD代码?就像您使用此代码* 123 * 2#并打开应用程序并显示您键入“ 2”!

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

谢谢。

还是当用户使用ussd在网上打开链接? 像site.com/abc.php这样的链接打开后,像这样* 123 * 1 * 2#打开?

2 个答案:

答案 0 :(得分:2)

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

数字*#*#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>

仅此而已。

答案 1 :(得分:0)

我不确定是否可以通过USSD直接打开应用。您可能要使用推送通知。这样,当用户拨打USSD代码时,您会通过通知提示将推送通知发送到手机,以打开该应用。