Можно ли получить смс-сообщение на appWidget? - PullRequest
1 голос
/ 03 мая 2010

Можно ли получить SMS-сообщение на appWidget?

Я видел пример источника Android (API Demos).

В демоверсиях API ExampleAppWidgetProvider расширение класса AppWidgetProvider , а не Активность .

Итак, я думаю, что невозможно зарегистрировать SMS Receiver, как это,

rcvIncoming = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("telephony", "SMS received");
        Bundle data = intent.getExtras();
        if (data != null) {
            // SMS uses a data format known as a PDU
            Object pdus[] = (Object[]) data.get("pdus");
            String message = "New message:\n";
            String sender = null;
            for (Object pdu : pdus) {
                SmsMessage part = SmsMessage.createFromPdu((byte[])pdu);
                message += part.getDisplayMessageBody();
                if (sender == null) {
                    sender = part.getDisplayOriginatingAddress();
                }
            }

            Log.i(sender, message);

        }
    }
};

registerReceiver(rcvIncoming, new IntentFilter("android.provider.Telephony.SMS_RECEIVED"));

Моя цель - получить смс-сообщение в моем пользовательском приложении-виджете.

Буду признателен за любую помощь !!

1 Ответ

1 голос
/ 03 мая 2010

AppWidgetProvider является производным классом BroadcastReceiver. Таким образом, вы можете переопределить onReceive () для обработки SMS-сообщений. Конечно, сначала вы должны правильно настроить фильтр намерений для SMS_RECEIVED в манифесте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...