deviceadminreceiver - lock task mode android




Sperren Sie das Android-Gerät programmgesteuert (3)

Die Aktivitätsklasse sollte die innere Klasse sein und die äußere Klasse sollte DeviceAdminReceiver

public class adminActivity extends DeviceAdminReceiver {

    public static class Controller extends Activity {

                DevicePolicyManager mDPM;
        ComponentName mDeviceAdminSample;

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
            mDeviceAdminSample = new ComponentName(Controller.this,
                    adminActivity.class);
  }
 }
}

Ich habe versucht, das Gerät durch ein Programm zu sperren. Aber ich kann die Lösung immer noch nicht finden. Ich möchte Android Froyo2.2 durch Programm sperren. Ich habe keyguardmanager und DeviceAdminManager versucht.

Meine App soll das Gerät remote sperren. Wenn eine Nachricht mit einigen Code-Wörtern zum Sperren empfangen wird, sperrt sie das Telefon. Ich habe viele Api_demo-Programme als Lösung gefunden, aber ich kann den Lock-Code nicht allein daraus extrahieren und eine Lösung finden.


Die Aktivitätsklasse sollte innere Klasse sein und die äußere Klasse sollte DeviceAdminReceiver erweitern

public class adminActivity extends DeviceAdminReceiver {

   public static class Controller extends Activity {

                    DevicePolicyManager mDPM;
            ComponentName mDeviceAdminSample;

        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);

                mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
                mDeviceAdminSample = new ComponentName(Controller.this,
                        adminActivity.class);
      }
   }
}

Um das Gerät zu sperren, schreiben Sie den Code in das Ereignis, in dem Sie sperren

if (active) {
mDPM.lockNow();
}

Wenn DeviceAdmin aktiviert ist, wird das Telefon gesperrt. Um den Geräteadministrator zu aktivieren, wird der DevicePolicyManager Intent aufgerufen und vom Benutzer aktiviert.

Intent intent = new   Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);  
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);        

        WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.screenBrightness = 0;
        getWindow().setAttributes(lp);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 






device-admin