2012-02-09 27 views
6

Im có ứng dụng là SingleTask và có thể nghe chương trình 'thử nghiệm'.Android onNewIntent từ trình khởi chạy ứng dụng mang lại cho tôi ý định cuối cùng

Nếu tôi nhấp vào nút (xem code) Tôi relaunch bản thân mình và onNewIntent được gọi cho tôi 'thử nghiệm' ý định (Bây giờ tôi có thể phản ứng với điều này bằng cách đẩy một đoạn)

Bây giờ Nếu tôi nhấn nhà và sau đó mở trình chạy ứng dụng và nhập lại ứng dụng của tôi Tôi muốn onNewIntent được gọi nhưng với một ý định trống, beacause tôi không muốn làm lại các hành động của mình (ví dụ như đẩy các đoạn). Nhưng onNewIntent đang cho tôi ý định cuối cùng được sử dụng để khởi động hoạt động của tôi, đó là ý định 'thử nghiệm'.

Tôi nên làm gì để ngăn chặn việc đẩy cùng một phân đoạn? Có cách nào tốt đẹp mà không sử dụng id của riêng tôi.

public class OnNewIntentTestActivity extends Activity { 
/** Called when the activity is first created. */ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Log.e("", "on create"); 

    ((Button) findViewById(R.id.button1)).setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Log.e("", "Relaunch activity"); 
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("testing://hello"))); 

     } 
    }); 
} 

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 

    Log.e("", "onNewIntent: " + (intent == null? "none" : (intent.getAction() + ":" + intent.getData()))); 
} 
} 

Trả lời

0

setIntent (null); sau khi bạn nhận được dữ liệu bạn cần trong onNewIntent

Các vấn đề liên quan