Android intent 傳值不更新的原因和解決辦法

來源:互聯網
上載者:User

標籤:android   style   blog   class   code   java   

當 Activity 的啟動模式是 singleTask 或者 singleInstance 的時候。如果使用了 intent 傳值,則可能出現 intent 的值無法更新的問題。也就是說每次 intent 接收到的值都是第一次接到的值。因為 intent 沒有被更新。想要更新需要做兩件事情。

1. 發送方 Activity,加上一句話

?
1 PendingIntent pendingIntent = PendingIntent.getActivity(context,0,intent,PendingIntent.FLAG_UPDATE_CURRENT); 

2. 接收方 Activity,加上一個函數,調用方法 setIntent

protected void onNewIntent(Intent intent) {  Log.i(TAG,"onNewIntent()");  super.onNewIntent(intent);  setIntent(intent);  int value = getIntent().getIntExtra("value_key", 0);  Log.i(TAG,"value = "+value);}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.