Android實現自訂鎖屏控制

來源:互聯網
上載者:User

   當在Android手機上需要實現自訂的鎖屏,  往往在進入自訂的鎖定畫面介面之前需要先解開螢幕鎖, 以順利的進入自訂鎖定畫面 ,並能方便使用者即時的做其他動作,下面用代碼來實現這一功能: 

1、點亮螢幕與解系統鎖
//light the screen PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);   WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP    | PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");   mWakelock.acquire();   mWakelock.release();    //unlock the screenKeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);  KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");  keyguardLock.disableKeyguard(); 
2、添加許可權

上述代碼要實現 自動螢幕解鎖功能,還需要 在主設定檔AndroidManifest.xml中添加許可權:

<uses-permission android:name="android.permission.WAKE_LOCK" />      <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
3、具體實現自訂鎖屏控制系統的大致思想

(1)在主介面中設計一個鎖屏控制按鈕,決定是否進入 自訂的 鎖屏 控制介面;

(2) 需要設計一個Service,在啟動時即在 onCreate方法中註冊監聽系統螢幕鎖屏的廣播行為ACTION_SCREEN_OFF: "android.intent.action.SCREEN_OFF";

(3)在上述serice中定義一個廣播接收器:如果監聽到 ACTION_SCREEN_OFF,則進入到自訂的鎖屏控制介面即啟動自訂實現的Activity;

 4、痛點實現

  (1)ACTION_SCREEN_OFF該訊息需要動態註冊,不能在XML檔案中全域註冊

  (2)收到screen_off訊息後,如何讓自己定義的鎖定畫面在系統鎖定畫面之上

  (3)點亮螢幕時,如何防止啟動自訂鎖定畫面時出現的閃屏現象

  (4)在某些機型某些時候需要點亮兩次螢幕

  (5)解自訂鎖屏時需要先解系統鎖

   (6)如何做到在解系統鎖時在多機型多Rom下的相容

   (7)如何做到在解系統鎖後不對耳機線控等行為或者其他相關行為產生影響

   (8)如何在解系統鎖後,要及時的能恢複系統鎖

    (9)有其他第三方鎖屏系統存在時,如何保證自己的鎖屏在其他所有鎖屏之上。

   (10)如何在鎖定畫面屏蔽相關按鍵,特別是屏蔽Home鍵,特別是4.0系統之上

 5、小結

        簡單的實現自訂鎖屏,我想大部分人在很短的時間內都能實現,關鍵是要整合到第三應用中要保證其能和大多數機型和Rom能相容,也就是要解決上面寫到的痛點問題,比如可以實作類別似天天動聽和酷狗類似的鎖屏功能 。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.