当用户按下要打开的应用程序的通话按钮后,是否可以在手机中使用USSD代码?就像您使用此代码* 123 * 2#并打开应用程序并显示您键入“ 2”!
我从未见过这样的应用程序,但是值得尝试
谢谢。
还是当用户使用ussd在网上打开链接? 像site.com/abc.php这样的链接打开后,像这样* 123 * 1 * 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代码时,您会通过通知提示将推送通知发送到手机,以打开该应用。