0

Android アプリの登録プロセスの一環として、アプリ内 SMS 検証ソリューションの開発について簡単なフィードバックを求めています。この問題に取り組んでいる私のチームの担当者は、問題を抱えているようです。

免責事項: 私自身は開発者ではありません。基本的なコーディングの知識があるだけです。

基本的に何が起こるべきかはこれです:

  1. ユーザーが電話番号を入力

  2. ユーザーが「SMS による番号の検証」ボタンを選択する

  3. SMS 作成ウィンドウが起動します。メッセージ フィールドには、検証コードが事前に入力されています。サーバーに接続された Twilio 電話番号が事前入力された受信者番号

  4. ユーザーが送信をクリックすると、メッセージが正常に送信されると SMS ウィンドウが自動的に閉じ、アプリの登録プロセスに戻り、サーバーからの応答を受信するのを待つか、許可があるかどうかを定期的に確認します (電話番号が確認された場合など)、登録の次の段階に進みます。

問題はステップ 4 にあります。私の開発者は、メッセージング アプリに関連付けられたオブジェクトを持っていないことを示しているため、そのオブジェクトで関数を呼び出すことができません...これは、私のコーディング知識が不足しているところです。他の人がこの問題をどのように解決したか (または解決したであろうか) を知りたいです。解決できると確信しています。

ありがとう!

4

2 に答える 2

1

私は同じ問題に遭遇しました。次のようなコードを使用して、必要なことを実行できるはずです (以下のリンクからコピー)。

private void launchSMSActivity(final CharSequence phoneNumber) {
    Intent smsIntent = new Intent(Intent.ACTION_VIEW);
    smsIntent.setType("vnd.android-dir/mms-sms");
    smsIntent.setData(Uri.fromParts("sms", phoneNumber.toString(), null));
    smsIntent.putExtra("sms_body", mMessageWithPattern);
    smsIntent.putExtra("exit_on_sent", true);
    smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivityForResult(smsIntent, SEND_SMS);
}

ただし、4.3 にはメッセージ フィールドが空白に見えるバグがあるようです。送信を押すと、引き続きメッセージが送信されます。バグはこちら: https://code.google.com/p/android/issues/detail?id=58153

そのため、tyczj の回答ごとにアプリ内から送信することを選択できますが、その場合、アプリに SMS 権限を追加する必要があることに注意してください。ユーザーが許可確認ダイアログを受け取ると、上部に表示され、料金がかかる可能性があるという通知が表示されます。多くの悪意のあるアプリが、このアクセス許可を使用してユーザーの電話料金を請求しているため、多くのユーザーが疑いの目で見ています。

また、4.3 デバイスのアプリ内からのみ SMS を送信することを選択し、上記のコードを使用して、他のすべてのデバイスで必要な方法で送信することもできます。2 つの APK を公開しない限り、許可の問題は解決しません。1 つは許可のない 4.3 より前のデバイス用で、もう 1 つは許可のある 4.3 のデバイス用です。この最後のオプションは、私が現在自分のアプリで検討しているものです。

于 2013-09-19T15:13:34.213 に答える