我想知道這段代碼是否可以工作(我現在無法嘗試,此外,我還有一些疑問必須清除)。在Android中的鬧鐘管理器中使用意圖額外值傳遞值
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra("user",global.getUsername());
intent.puExtra("password",global.getPassword);
PendingIntent sender = PendingIntent.getBroadcast(context, 192837, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Get the AlarmManager service
Log.v("inside log_run", "new service started");
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, IMMEDIATELY,60000,sender);
finish();
正如你所看到的,這個代碼開始的AlarmManager
與setRepeating()
。如果您看到傳遞給BroadcastReceiver
的意圖(實際上是等待的意圖),則會傳遞兩個附加信息。只要應用程序正在運行,這些都是全局變量。但是,這AlarmManager
意味着在後臺運行(即應用程序將只的的alrmamanager的廣播recevier第幾個電話活着)
我的問題
威爾AlarmManager使副本全局變量(用戶名和密碼)並保持此副本與意圖一起傳遞(作爲額外)?或者它會引用全局變量(在全局變量變爲空時,在進程中傳遞null作爲額外值)?因爲這些值將在廣播接收器中使用。
我想到了這個方法。但共享首選項存儲在一個xml文件中。任何人都可以看到這些文件(如果已導出)。但不是全局變量。 – Ashwin
默認情況下SharedPrefs是私有的,用於引用文檔 - 「創建的文件只能由調用應用程序訪問(或共享相同用戶ID的所有應用程序)」。 –
你是對的。但是我想說的是,如果我使用DDMS將手機連接到我的PC和Eclipse中,我可以將XML文件導出到我的PC上。這可以通過DB完成。應用程序數據庫可以用這種方式導出。 – Ashwin