我正在创建一个短信应用程序,当我收到短信时,我可以创建一个通知,点击后启动应用程序。
但是,如果用户在应用程序中收到短信怎么办?如何让活动自行更新?
我正在使用BroadcastReceiver,并在点击通知时启动PendingIntent。
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
context,
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
答案 0 :(得分:1)
你可以在活动中加入另一个接收器
public class MainActivity extends Activity {
private IntentFilter filter = new IntentFilter("android.intent.action.SMS_RECEIVED");
private BroadcastReceiver refreshReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context c, Intent i) {
refresh();
}
};
@Override
protected void onPause() {
context.unregisterReceiver(refreshReceiver);
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
context.registerReceiver(refreshReceiver, filter);
refresh();
}
}
答案 1 :(得分:0)
@dlee的答案是正确的,但收到短信时抛出的IntentFilter是这样的:
private IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");