亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android編程獲取系統(tǒng)隱藏服務(wù)實現(xiàn)鎖屏的方法

 更新時間:2015年12月30日 15:29:12   作者:傅榮康  
這篇文章主要介紹了Android編程獲取系統(tǒng)隱藏服務(wù)實現(xiàn)鎖屏的方法,涉及Android關(guān)于廣播,服務(wù),權(quán)限及鎖屏等操作的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了Android編程獲取系統(tǒng)隱藏服務(wù)實現(xiàn)鎖屏的方法。分享給大家供大家參考,具體如下:

實現(xiàn)原理:當(dāng)按鎖屏鍵時,會發(fā)出一個廣播,當(dāng)界面接收到一個廣播就可以實現(xiàn)鎖頻。我們可以調(diào)用IDevicePolicyManager服務(wù)中的lockNow方法來發(fā)送一個廣播實現(xiàn)鎖屏。

IDevicePolicyManager是被系統(tǒng)隱藏掉的,需要通過反射還獲取此服務(wù)。

步驟:

1.創(chuàng)建MyAdmin的廣播接收者繼承DeviceAdminReceiver
2.通過反射 ,獲取IDevicePolicyManager服務(wù) ,IDevicePolicyManager通過AIDL來獲取出來。
3.注冊廣播接收者為admin設(shè)備
4.獲取服務(wù)中的方法

效果圖:

  

注冊MyAdmin廣播接收者:

<receiver android:name=".MyAdmin">
  <meta-data android:name="android.app.device_admin"
    android:resource="@xml/my_admin" />
  <intent-filter>
    <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
  </intent-filter>
</receiver>

my_admin.xml:

<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-policies>
        <limit-password />
        <watch-login />
        <reset-password />
        <force-lock />
        <wipe-data />
    </uses-policies>
</device-admin>

反射獲取服務(wù)、注冊權(quán)限、實現(xiàn)鎖屏:

public class LockActivity extends Activity {
  IDevicePolicyManager mService;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
  }
  //鎖屏
  public void lock(View view){
    try {
      //通過反射獲取到sdk隱藏的服務(wù)
      Method method = Class.forName("android.os.ServiceManager")
          .getMethod("getService", String.class);
      IBinder binder = (IBinder) method.invoke(null,//激活服務(wù)
          new Object[] { Context.DEVICE_POLICY_SERVICE });
       mService = IDevicePolicyManager.Stub.asInterface(binder);
       //定義組件的名字
       ComponentName mAdminName = new ComponentName(this, MyAdmin.class);
       //注冊權(quán)限
       if (mService != null) {
          //判斷自定義的廣播接受者 是不是被注冊成 deviceadmin的權(quán)限
          if (!mService.isAdminActive(mAdminName)) {
                Intent intent = new Intent(
                DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
                intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
                    mAdminName);
                startActivity(intent);
              }
          //調(diào)用服務(wù)實現(xiàn)鎖屏
          mService.lockNow();
          //設(shè)置解鎖密碼
          mService.resetPassword("123", 0);
       }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

AIDL:

/*
**
** Copyright 2010, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**   http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
package android.app.admin;
import android.content.ComponentName;
/**
 * Internal IPC interface to the device policy service.
 * {@hide}
 */
interface IDevicePolicyManager {
  void setPasswordQuality(in ComponentName who, int quality);
  int getPasswordQuality(in ComponentName who);
  void setPasswordMinimumLength(in ComponentName who, int length);
  int getPasswordMinimumLength(in ComponentName who);
  boolean isActivePasswordSufficient();
  int getCurrentFailedPasswordAttempts();
  void setMaximumFailedPasswordsForWipe(in ComponentName admin, int num);
  int getMaximumFailedPasswordsForWipe(in ComponentName admin);
  boolean resetPassword(String password, int flags);
  void setMaximumTimeToLock(in ComponentName who, long timeMs);
  long getMaximumTimeToLock(in ComponentName who);
  void lockNow();
  void wipeData(int flags);
  void setActiveAdmin(in ComponentName policyReceiver);
  boolean isAdminActive(in ComponentName policyReceiver);
  List<ComponentName> getActiveAdmins();
  boolean packageHasActiveAdmins(String packageName);
  void removeActiveAdmin(in ComponentName policyReceiver);
  void setActivePasswordState(int quality, int length);
  void reportFailedPasswordAttempt();
  void reportSuccessfulPasswordAttempt();
}

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

  • android中圖片的三級緩存cache策略(內(nèi)存/文件/網(wǎng)絡(luò))

    android中圖片的三級緩存cache策略(內(nèi)存/文件/網(wǎng)絡(luò))

    實現(xiàn)圖片緩存也不難,需要有相應(yīng)的cache策略。這里我采用 內(nèi)存-文件-網(wǎng)絡(luò) 三層cache機(jī)制,其中內(nèi)存緩存包括強引用緩存和軟引用緩存(SoftReference),其實網(wǎng)絡(luò)不算cache,這里姑且也把它劃到緩存的層次結(jié)構(gòu)中
    2013-06-06
  • 4種Android獲取View寬高的方式

    4種Android獲取View寬高的方式

    這篇文章主要介紹了4種Android獲取View寬高的方式
    2016-01-01
  • Android實現(xiàn)自定義滑動式抽屜菜單效果

    Android實現(xiàn)自定義滑動式抽屜菜單效果

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)自定義滑動式抽屜效果菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android自定義View仿QQ運動步數(shù)效果

    Android自定義View仿QQ運動步數(shù)效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義View仿QQ運動步數(shù)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android采用File形式保存與讀取數(shù)據(jù)的方法

    Android采用File形式保存與讀取數(shù)據(jù)的方法

    這篇文章主要介紹了Android采用File形式保存與讀取數(shù)據(jù)的方法,涉及Android文件流操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • Kotlin設(shè)計模式之委托模式使用方法詳解

    Kotlin設(shè)計模式之委托模式使用方法詳解

    Kotlin提供了兩個本機(jī)功能來實現(xiàn)委托模式,第一個是接口委托(例如策略模式),另一種是屬性委托,它專注于類成員/屬性(例如延遲加載、observable等),它們共同提供了一組豐富而簡潔的功能,通過本博客,您將了解在什么情況下使用此模式
    2023-09-09
  • Android RadarView雷達(dá)圖(蜘蛛網(wǎng)圖)的實現(xiàn)代碼

    Android RadarView雷達(dá)圖(蜘蛛網(wǎng)圖)的實現(xiàn)代碼

    這篇文章主要介紹了Android RadarView雷達(dá)圖(蜘蛛網(wǎng)圖)的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Android實現(xiàn)應(yīng)用程序的閃屏效果

    Android實現(xiàn)應(yīng)用程序的閃屏效果

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)應(yīng)用程序的閃屏效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android實現(xiàn)長按圖片保存至相冊功能

    Android實現(xiàn)長按圖片保存至相冊功能

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)長按圖片保存至相冊功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android方向傳感器的使用方法

    Android方向傳感器的使用方法

    這篇文章主要介紹了Android方向傳感器的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論