1
  1. SMSlist_activity.javaSMS 会話のリストを表示する があります。
  2. 私はsms_receiver.java着信SMSのブロードキャストレシーバーを持っています。

SMSlist_activity.javaで SMS を受信したときにSMS の会話リストを更新したいと考えていsms_receiver.javaますSMSlist_activity.java

誰かがアイデアを持っているなら、私はここに喜んでいます。

4

1 に答える 1

2

最後に、ブロードキャスト レシーバーを使用した解決策を見つけました。int sms_receiver.java、SMS が受信されたとき、インテントをブロードキャストします。

            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);
    }
}
于 2015-02-08T05:10:27.073 に答える