Android:从特定号码接收短信吗?

aa0*_*051 3 sms android

我是android的新手,正在开发一个应用程序,可以在其中设置接收短信的电话号码,只有该应用程序可以确认SMS。有人可以帮我吗?

Suc*_*chi 5

这是一个代码片段-

public class SMSApp extends IntentReceiver {

static final String ACTION =
        "android.provider.Telephony.SMS_RECEIVED";

public void onReceiveIntent(Context context, Intent intent) {
    if (intent.getAction().equals(ACTION)) {
        StringBuilder buf = new StringBuilder();
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
            SmsMessage[] messages = Telephony.Sms.Intents.getMessagesFromIntent(intent);
            for (int i = 0; i < messages.length; i++) {
                SmsMessage message = messages[i];
                String phNum = message.getDisplayOriginatingAddress();
                if ("xxx-xxx-xxxx".equals(phNum))
                {// Do your thing }
            }
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

当然,您需要在清单中放入一个接收者和一个权限,类似于-

<uses-permission id="android.permission.RECEIVE_SMS" />
<application>
    <receiver class="SMSApp">
        <intent-filter>
            <action android:value="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>
</application>
Run Code Online (Sandbox Code Playgroud)

  • 他们非常感谢您的帮助...! (2认同)