2012-08-14 39 views
44

我已經寫了一個應用程序,遠程鎖定android手機。這是當從服務器發送特殊代碼時,應用程序根據特殊代碼鎖定手機。這是我正在使用的代碼。如何通過代碼遠程解鎖android手機

if (!mDPM.isAdminActive(mDeviceAdminSample)) { 
     // try to become active – must happen here in this activity, to get result 
     Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); 
     intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,mDeviceAdminSample); 
     intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,"Admin is added to do security operation."); 
     startActivityForResult(intent, 0); 
     } else { 
     // Already is a device administrator, can do security operations now. 
     mDPM.lockNow(); 
     } 

上述代碼正在工作,它鎖定了手機。

我可以通過從軟鍵盤輸入密碼來解鎖手機。有沒有辦法通過代碼來解鎖它?

我的問題是如何通過代碼解鎖手機

+0

什麼是min API,並且您在mainManifest中添加了使用權限? – 2012-12-08 10:14:22

回答

1

請注意,我不是一個Android開發者,但(這解鎖應該在我鎖定解釋的方式來遠程完成):

如果你看看this,即使你處於「安全鎖定」模式,如果你擁有正確的權限,看起來你可以讓WindowManager解僱這個關鍵的後衛。

+0

不,它不會工作,因爲我使用密碼鎖定 – kehnar 2012-08-14 12:26:37

+0

你嘗試過嗎? – HonkyTonk 2012-08-14 12:31:37

+0

是的,我查過了。 – kehnar 2012-08-14 12:34:25

2

試試這個

KeyguardManager manager = (KeyguardManager)context.getSystemService(KEYGUARD_SERVICE); 
kl = manager.newKeyguardLock("my-remote-app"); 
kl.disableKeyguard(); 

//爲退出重新啓用鍵盤鎖(如果需要)

onDestroy() { 
kl.reenableKeyguard(); 
} 

這個作品< = ICS。 這是一個棄用的API,他們建議你使用WindowManager中的標誌來獲得相似的效果。儘管我無法使用WindowManger生成類似的效果。

希望這有助於

+0

已經選中。它不起作用。 – kehnar 2012-08-14 12:30:59

+0

我用它與ICS的GNote N7000,它的工作原理。您是否允許使用KeyguardManager?否則,您的意圖可能因SecurityException而被殺害。 – fadedreamz 2012-08-14 14:58:48

+0

也可以在產生解鎖意圖時添加NEW_TASK標誌。 – fadedreamz 2012-08-14 15:12:54

5

我不認爲你的遙控開鎖的目標是可以實現的。

Android的設置方式是許多應用程序可能具有設備管理員權限,任何設備管理員都可以發出鎖定命令,但解鎖必須來自用戶。

我可以建議你簡化這件事:你的應用可以嘗試刪除密鑰鎖密碼,然後用戶可以簡單地通過在屏幕上滑動手指而無需代碼就可以使用該設備。

現在如果你的應用程序不是唯一的設備管理員,那麼我建議的一個障礙。在這種情況下,其他管理員應用程序可以設置一個最小密碼長度(或其他密碼限制),這會阻止您的應用程序清除屏幕鎖定密碼。

如果您的目標是幫助忘記了他/她的屏幕鎖定密碼的用戶,那麼您的服務器可以發明一個新密碼,通知用戶新密碼是什麼,並將新密碼發送到您的應用程序和您的應用程序應用程序可以應用密碼。用戶可以解鎖手機。別擔心,它不像聽起來那麼複雜。

4

對不起,寫 - 沒有辦法從代碼解鎖手機。如果你找到任何方法來做到這一點 - 沒有保證工作。所以沒有辦法遠程解鎖,編寫自定義鎖定屏幕等。

1

據我所知,我們無法以編程方式解鎖受密碼保護的手機。

+7

你甚至沒有名字。 – Shark 2012-12-13 12:32:47

6

我相信你不能覆蓋內置的屏幕鎖定,除非你讓自己的設備像三星和HTC一樣。但是,通過讓您的客戶使用您自己的類似屏幕鎖定的應用程序,您可能可以實現您正在嘗試執行的操作。

0

一個解決方案是編寫一個「自定義鎖屏」。 當然,這不是最簡單的方法,但它會工作,因爲你可以用你自己的鎖屏完成你想要的任何事情。 如果您正在考慮解決方案,請隨時與我聯繫,我會給你一些有用的鏈接。 乾杯!

+0

Android不支持服裝鎖屏 – 2013-06-09 09:59:14

+0

@Ilya_Gazman它幾乎支持它,但不支持官方API。爲了擁有自定義鎖定屏幕,您的應用將需要成爲默認啓動器。以下是一些示例應用程序:http://www.androidauthority.com/best-music-player-apps-for-android-208990/ https://www.androidpit.com/best-android-lock-screen-apps – 2017-04-05 22:03:41

+0

@androiddeveloper我猜在4年內會發生很多事情。大聲笑 – 2017-04-06 13:17:56