作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当用户按下我的应用程序要打开的调用按钮后,是否可以在他的手机中使用 USSD 代码?就像您使用此代码 *123*2# 并且应用程序打开并显示您键入“2”一样!
我从未见过这样的应用程序,但值得一试
提前致谢。
或者当用户使用 ussd 打开 Web 上的链接时?在打开 site.com/abc.php 之类的链接后像这样 *123*1*2# 吗?
最佳答案
你必须创建广播接收器才能得到你想要的。
数字格式*#*#xxxx#*#*,比如- *#*#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>
就这些。
关于android - 有什么办法可以用ussd打开应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56574104/
我是一名优秀的程序员,十分优秀!