2011-04-07 85 views
0

我想在電話關閉之前向某個服務器發送請求。爲此,我將實現一個接收ACTION_SHUTDOWN廣播的BroadcastReceiver。在接收到這個廣播時,該服務將向一些服務器發起HttpRequest。在手機關機之前是否可以發送HttpRequest?

我可能無法驗證服務器是否已收到請求,因爲手機已關閉,但沒關係。我擔心的是,如果廣播到關閉之間的窗口足以讓服務發送請求。

我看了看周圍的互聯網和我發現這一點:

#!/system/bin/sh 
stop; 
stop dhcpcd; 

sleep 1; 

for i in `cat /proc/mounts | cut -f 2 -d " "`; 
do 
    busybox mount -o remount,ro $i 2>&1 > /dev/null; 
done 

sync; 

if [ "$1" = "-r" ]; 
then 
    toolbox reboot; 
fi 

if [ "$1" = "-rr" ]; 
then 
    toolbox reboot recovery; 
else 
    reboot -p; 
fi 

here。文章指出這是Android關機腳本。正如我們所看到的,dhcpcd是關機後停止的第一個守護進程。但是我仍然不知道腳本執行之前是否有足夠的時間。

那麼,是否有可能在手機關機之前發送HttpRequest?如果是這樣,怎麼樣?

編輯:假設網絡連接存在,並通過正常手段關閉手機。

+0

可能的重複http://stackoverflow.com/questions/2923343/send-data-after-action-shutdown-is-received – 2011-04-07 08:18:44

回答

2

只需嘗試一下。另一種方法可以簡單地將關機時需要的信息保存在首選項文件中(如關機時間,...)。然後在手機啓動時將此數據發送到您的服務器(並且您有獎金可以檢查服務器是否實際收到它並在不成功時重試)。

你甚至可以想象做這兩個,因爲Send data after ACTION_SHUTDOWN is received建議有時間發送一些網絡數據。

+0

非常感謝:) – avendael 2011-04-07 09:35:50

相關問題