L'applicazione deve disporre dell'autorizzazione all'uso per android.permission.RECEIVE_SMS nel file manifest.
Una volta ottenuto è possibile registrare un ricevitore di trasmissione per android.provider.Telephony.SMS_RECEIVED
.
Quindi ti consigliamo di creare il tuo receiver.
<receiver android:name=".SMSBroadcastReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
Il ricevitore dovrebbe estendere la BroadcastReceiver e nel metodo OnReceive() quando si riceve un'intenti per android.provider.Telephony.SMS_RECEIVED_ACTION
si desidera recuperare il messaggio e determinare se si tratta di uno che si vuole prestare attenzione.
Il codice potrebbe essere simile a questo.
public class SMSBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "SMSBroadcastReceiver";
private static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED"
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SMS_RECEIVED)) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
final SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
if (messages.length > -1) {
//You have messages, do something with them here to determine if you want to look at them and other actions.
}
}
}
}
}
http://stackoverflow.com/questions/11872320/auto-launching-android-app-after-install – KOTIOS
c'è un app su Google Play [Perso Android] (https://play.google. com/store/apps/details? id = com.androidlost & hl = en) che invoca il servizio di registrazione per i messaggi push di Google tramite un sms in arrivo senza avviare l'app nemmeno una volta per la versione 3.0+ – test