簡體   English   中英

Android:啟用/禁用自動同步和背景數據

[英]Android: Enable/Disable Auto Sync and Background Data

我想開發一個應用程序,禁用背景數據(Android 1.5中的新功能)和自動同步,然后啟用GPRS / EDGE連接,反之亦然。

我想出了如何通過更改APN設置來啟用/禁用GPRS / EDGE。 (奇怪的解決方案。然而; Android開發人員不能認為用戶可能想要禁用GPRS / EDGE)但是,我找不到啟用/禁用自動同步和后台數據的方法。

我調查了Android代碼,據我所知,Sync操作是一個意圖。 所以,我想用putExtra達到意圖並觸發啟用/禁用。 但; 我找不到正確的關鍵字。 或許我完全錯了。

解決這個問題的正確方法是什么?

在我的HTC夢想中,有一個禁用自動同步的復選框。 如果您願意,我可以查找菜單arborescence,這樣您就可以在Android源代碼中找到回調函數。 但我很確定無法完全禁用自動同步。 取消選中自動同步將阻止同步執行定時,但如果有任何網絡數據連接可用,則每次運行具有同步功能的應用時都會發生這種情況。

祝你好運。

編輯:

有兩種方法可以獲得您想要的信息。

首先,我認為您可以使用android-sources / packages / apps / Settings / src / com / android / settings / Utils.java中的代碼創建一個活動,該活動將獲取intent的所有鍵然后找到你想要的那個鍵。

另一種方法是寫一個很好的郵件給那個制作Toggle Setting應用程序的人( http://smartphoneandroid.com/2008/12/28/toggle-setting-perfect-app-for-android-phone.html )他顯然找到了解決問題的方法。 他的電子郵件地址寫在Android市場的應用表中。 我不會在這里寫,但如果您無法訪問真正的Android手機,我可以通過您的郵件地址發送給您。

禁用AutoSynch

ContentResolver.setMasterSyncAutomatically(false);

啟用AutoSynch

ContentResolver.setMasterSyncAutomatically(true);

你需要的許可是

<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />

后台數據是安全設置 ,因此用戶應用程序無法更改。 但請記住,這只是一個設置 - 它沒有強制執行。 應用程序是為了閱讀並尊重它,但我打賭有些人不這樣做。

ContentResolver上的setMasterSyncAutomatically()應該這樣做。 檢查: general-sync-settings-auto-sync-checkbox-programtically

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM