我有一個接收SMS的活動,我希望在發生這種情況時將它帶到前臺。不管它是相同的實例還是新的實例。我試過了我在這個網站上發現的所有內容,甚至像FLAG_ACTIVITY_NEW_TASK這樣的其他標誌也能正常工作,但是[迄今]沒有任何活動將它帶到前臺。如何將活動帶到前臺? 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 2012-02-13 06:54:18
我實際上是指通知。請參閱:http://developer.android.com/guide/topics/ui/notifiers/notifications.html – Bill 2012-02-13 15:40:18
自從我與廣播接收機合作以來,已經有一段時間了,我記得現在你不能綁定到服務/啓動一個活動。 用您想要啓動的活動的未決意圖創建通知。 – Bill 2012-02-14 16:46:29