私はユーザ名とパスワードを必要とするアンドロイドのアプリケーションを持っています。私のサーバはSMSを使ってユーザ名とパスワードをモバイルに送ります。AndroidアプリケーションSMSからユーザ名とパスワードを取得
アプリケーションでSMSを読み取る方法を探していましたが、手動で設定するのではなく、設定でユーザー名とパスワードを使用して自動的に設定できます。
私はユーザ名とパスワードを必要とするアンドロイドのアプリケーションを持っています。私のサーバはSMSを使ってユーザ名とパスワードをモバイルに送ります。AndroidアプリケーションSMSからユーザ名とパスワードを取得
アプリケーションでSMSを読み取る方法を探していましたが、手動で設定するのではなく、設定でユーザー名とパスワードを使用して自動的に設定できます。
のAndroidManifest.xml
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
<receiver android:name=".Receiver" >
<intent-filter >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>
Receiver.java
に示すべきではないことをしたい場合でも、abortBroadキャストメソッドを使用しますimport java.util.ArrayList;
import android.content.Context;
import android.content.Intent;
import android.content.BroadcastReceiver;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
public class Receiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++)
{
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
checkSMS(context, msgs[i]);
}
}
}
void checkSMS(Context context, SmsMessage sms)
{
String msg = sms.getMessageBody().toString();
}
}
SMSのブロードキャストリスナーを使用しています.RCVチェックでは、サーバーがSMSを送信するために使用している番号から来た場合はSMSテキストから情報を抽出し、それに従ってアプリの設定を更新しますあなたはSMSネイティブSMSアプリ
こんにちは、サンプルコードを上に表示していただけますか? – AAB
は、SMSを受信する最も簡単なコードhttp://androidsourcecode.blogspot.com/2010/10/receiving-sms-using-broadcastreceiver.htmlとこのリンクも良好な詳細http://boomtech.in/entries/general/ sms-toast - using-broadcast-receiver ---連絡先情報を取得する –
私はこれを以下のように呼んでいます。一度だけ実行され、20秒以上生きていません。メッセージは20秒以内に送信されます。少なくとも20秒間聴き続ける必要があります。 \t 'sms.sendTextMessage(" XXXXXX "、null、" MSG "、null、null); レシーバrc =新しいレシーバ(); rc.onReceive(getContext()、新しいインテント( "android.provider.Telephony.SMS_RECEIVED")); ' – AAB
私はあなたが何を意味するのか理解できませんでしたが、あなたが何か間違っていると思う、新しいReceiverクラスを呼び出し、rc.onreceiveを呼び出します。私があなたに与えたサンプルとしてReceiver.javaを作成し、私の答えに書いたようにこのクラスをマニフェストに追加します。電話が誰かからSMSを受け取るたびに、アンドロイドのテレフォニーフレームワークはあなたのアプリケーションをReceiverクラスのOnReceiveメソッドと呼びますが、アプリケーションが開いていなくても。チェックサム機能で何でもできます。 –