私はSMSを受け取るアクティビティを持っています。それが起こると、フォアグラウンドに持ち込みたいと思います。同じインスタンスか新しいインスタンスかは関係ありません。私はFLAG_ACTIVITY_NEW_TASKのような他のフラグでもうまく動作しますが、このサイトで見つけたものすべてを試しましたが、[今のところ] NOTHINGはアクティビティをフォアグラウンドに持ち込みます。アクティビティをフォアグラウンドに持ち込む方法は? BroadcastReceiverの内部から何もできません
public class SMSMessenger extends Activity {
private static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";
private BroadcastReceiver yourReceiver;
@Override
public void onCreate(Bundle savedInstanceState) {
final IntentFilter theFilter = new IntentFilter();
theFilter.addAction(ACTION);
this.yourReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Bring activity to the foreground - doesn't work
Intent I = new Intent(context, SMSMessenger.class);
I.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
context.startActivity(I);
//------------------------------------------------
}
};
this.registerReceiver(this.yourReceiver, theFilter);
}
}
私はそれを試しました。ポップアップによってあなたがトーストを意味するならば、それはうまくいきます。しかし、私が望むのは、自分の活動が開かれ/再開することです。 – user1204946
私は実際にNotificationsを参照していました。 http://developer.android.com/guide/topics/ui/notifiers/notifications.html – Bill
私は放送受信機を扱っているので、しばらくして、サービスにバインドしたり、活動を開始することはできません。 起動したいアクティビティの保留中の意図で通知を作成します。 – Bill