2012-01-11 154 views
1

我正在向我的代理商分發具有重要商業信息的Android手機。 Incase用戶移除SIM卡,SD卡或嘗試修改存儲在設備存儲器中的數據,系統需要鎖定,並且如果可能的話,向有關人員發送通知。如何「鎖定」設備,取出SIM卡或SD卡?

+4

擦除數據,用戶可以簡單地關閉手機(甚至在它運行時取出電池)和事後取出卡。軟件無力抵禦這種攻擊。 – CodesInChaos 2012-01-11 12:59:47

+0

我假設你想這樣做,以防有人竊取電話,對嗎?如果是這樣,你最好的選擇就是得到一個支持完整設備加密的Android 4.0手機。問題解決了。 – Daisetsu 2012-01-11 23:42:28

回答

2

這將需要更改設備的基帶軟件。您不能在後期製作手機上完成此操作。

更新

Potentionally你可以做的DeviceAdmin Api

1

我想你可以註冊一個DeviceAdmin東西,只要手機開機檢查SIM卡和SD卡。然後,您可以繼續使用resetPassword擦除數據或爲設備設置新密碼,並致電locknow。這樣手機就會被鎖定,用戶需要您的密碼

1

不要在手機上存儲關鍵信息。 如果失敗,請不要以純文本形式存儲關鍵信息。 在運行時使用某種基於網絡的身份驗證來控制訪問。

在一天結束時,您的數據永遠不會對確定的軟件黑客100%安全。或者有相機的用戶。所以與可信賴的人一起工作。

0

你可以簡單地做以下事情。

1)註冊SD卡上的接收器狀態,如果它未被安裝,則採取相應的措施,可以與SIM一樣,爲SIM保存可從TelephonyManager類獲得的SIM卡號。

2)如果用戶關閉手機,然後拉SD卡或SIM卡,在重新啓動應用程序可以檢查SD卡是否存在或辛改變。在這種情況下,你也可以採取相應的行動,

但如果用戶在關閉模式下取代SD卡,你什麼也不能做。

0

我認爲這是可能的:

  1. 註冊BroadcastListener爲BOOT_COMPLETED開機後播出
  2. 所以完成,你將有BroadcastReceiver開始 - 在這裏你可以查看SIM卡或SD卡的presense - 這是很容易像:

telephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String simSerial = telephonyMgr.getSimSerialNumber();

  1. 如果檢查失敗,您可以BRICK設備(這是殘酷的),或者通過DevicePolicyManager.wipeData