2015-02-07 208 views
1
  1. 我有一個SMSlist_activity.java顯示短信會話的列表。
  2. 我有一個sms_receiver.java這是一個傳入短信廣播接收器。

現在我想,當通過sms_receiver.java收到一條短信,當然如果SMSlist_activity.java正在運行,可見此更新將只發生在SMSlist_activity.java更新短信會話列表。從廣播接收器接收短信的更新活動UI

如果有人有想法,我會很高興在這裏。

回答

1

最後我找到了一個廣播接收器的解決方案。 INT sms_receiver.java,當收到短信,我廣播意圖:

  Intent intent2 = new Intent(); 
      intent2.setAction("co.ir.ts.app.sms.smsumad"); 
      context.sendBroadcast(intent2); 

在SMSlist_activity.java定義的應用程序清單我加意圖過濾器,以便我可以SMSlist_activity.java接收廣播:

<activity 
     android:name=".activity.SMSlist_activity"> 
     <intent-filter> 
      <action android:name="co.ir.ts.app.sms.smsumad" > 
      </action> 
     </intent-filter> 
    </activity> 

現在,在SMSlist_activity.java主類定義的廣播接收機:

private BroadcastReceiver receiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //Updating UI here 
    } 
}; 
中的onResume方法

寄存器中的接收器上面創建:

@Override 
protected void onResume() { 
    // TODO Auto-generated method stub 
    IntentFilter filter = new IntentFilter(); 
    filter.addAction("co.ir.ts.app.sms.smsumad"); 
    registerReceiver(receiver, filter); 
    super.onResume(); 
} 

終於在的onPause方法註銷接收機:

protected void onPause() 
{ 
    unregisterReceiver(receiver); 
    super.onPause(); 
    if (isSentPending) 
    { 
     unregisterReceiver(sent); 
    } 
}