我的主要活動是處理ACTION_SEND意圖。我根據意圖文本中收到的數據在數據庫中添加了一條新記錄。我的問題是,android在顯示方向改變後顯然保留了這個意圖,所以每當我旋轉我的手機時,最後我的數據庫中會出現一行。由於方向變化導致的多個意向處理
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.db_list);
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
if ("text/plain".equals(type)) {
storeTextInDatabase(intent);
}
}
fillListFromDB();
registerForContextMenu(getListView());
}
我怎樣才能achive storeTextInDatabase(意向)調用只有一次,每個新接收的意圖之後。 我的第一個想法是,我將檢查savedInstanceState包的內容,如果它爲null,那麼它是Activity的第一個調用。此解決方案存在問題,我想在我的活動壽命期間處理多個廣播的意圖。
它工作,比我的解決方案更容易。 – Peter
我一直在做這件事,但它剛剛開始與KitKat 4.4打成一片。 –