Есть ли способ открыть приложение с помощью ussd? - PullRequest
2 голосов
/ 13 июня 2019

Возможно ли, когда пользователь использует USSD-код в своем телефоне после того, как он нажал кнопку вызова, которое собирается открыть мое приложение? как будто вы используете этот код * 123 * 2 #, и приложение открывается и показывает, что вы набираете '2'!

Я никогда не видел такого приложения, но стоит попробовать

Заранее спасибо.

или когда пользователь использует ussd ссылку в Интернете? как это * 123 * 1 * 2 # после вызова ссылки как site.com/abc.php открыть?

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

Вы должны создать Broadcast Receiver, чтобы получить то, что вы хотите.

Формат числа *#*#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>

Вот и все.

0 голосов
/ 13 июня 2019

Я не уверен, что можно будет напрямую открыть приложение через USSD.Вы можете использовать Push-уведомления.Таким образом, когда пользователь набирает USSD-код, вы отправляете push-уведомление на телефон, чтобы приложение открывалось с помощью уведомления.

...