ユーザーが忙しい場合に他の人から受信したSMSに自動返信を送信するAndroidアプリケーションを作成しています。ユーザーが自分のステータスを選択するための2つのオプションがあります-利用可能またはビジー。したがって、ユーザーが自分のステータスをビジーに設定すると、すべての着信SMSは、「返信できません。ビジーです」という自動応答を(SMS経由で)受信します。しかし、私は1つの条件で立ち往生しています。また、同じ番号からSMSを再度取得した場合、その番号に自動返信を送信した後、その番号から受信した2つのSMS間の時間間隔が10分未満の場合、その番号に自動返信しないようにする必要があります。時間間隔が10分を超えると、自動応答が送信されます。私はこれについてどうやって行くのか分かりません。誰かがこれをコーディングする方法とこれを行うために何を使用するかについてのロジックを私に説明できますか?
質問する
797 次
2 に答える
0
コードを投稿しないで、このアプローチを取ることができます
- 着信SMSをスキャンするリスナーを用意します(stackoverflowで利用可能な多くのコード)
- SMSから番号を取得し、その番号が有効かどうかを確認します(SMSはネットワークプロバイダーからのものであり、返信する意味はありません)
- 毎日の電話番号のデータベースを保持し、それに番号を追加し続けます(また、それに時間のフィールドを追加します)
- 着信SMS番号をデータベースと比較します。見つかった場合、アクションが10分未満の場合は、データベースに追加してメッセージを送信します。(受け取った番号のデータベースで時間を更新し続けます)
あなたがいくつかのアイデアを持っていることを願っています。
于 2012-09-26T04:09:35.640 に答える
0
Royston Pintoの回答をあるレベルに更新しました::
- 着信 SMS をスキャンするための Listener を用意する (stackoverflow で利用可能な多くのコード)
- SMS から番号を取得し、有効な番号かどうかを確認します (SMS はネットワーク プロバイダーから送信されたものであり、返信しても意味がありません)。
- 着信メッセージの電話番号と時刻のエントリをHashMapに保持する
- 着信 SMS 番号を HashMap と比較し、見つかった場合は 10 分以内にアクションを実行し、そうでない場合は HashMap に追加してメッセージを送信します。
- 時間エントリを定期的にチェックして、HashMap を更新します。そのエントリを過ぎた時間が HashMap からそのエントリを削除するよりも 10 分以上経過している場合 (U はこの関数を作成し、1 分ごとに Handler から呼び出すことができます)
3 番目と 5 番目のポイントを参照してください。
于 2012-09-26T07:09:15.727 に答える