2010-05-03 20 views
1

是否可以在appWidget上接收短信?是否可以在appWidget上接收短信?

我看到了android示例源代碼(API Demos)。

在API演示,ExampleAppWidgetProvider類擴展的AppWidgetProvider,不活動

所以,我想這是不可能的記數短信接收這樣,

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")); 

我的目標是獲得在我的自定義appWidget短信。

任何幫助將不勝感激!

回答

1

AppWidgetProvider是BroadcastReceiver的派生類。因此,您可以重寫onReceive()來處理SMS消息。當然,您必須首先正確設置清單中的SMS_RECEIVED意向過濾器。

+0

謝謝你的建議。我完全忘記了我可以在清單中使用IntentFilter! – Joey 2010-05-04 02:20:00