2015-01-09 9 views
2

Я хочу программно настроить пароль блокировки экрана и затем удалить, когда цикл выполняется. Я добавил Device Administration успешно, может кто-то помочь мне установить SET и UNSET заблокировать пароль экрана из моего приложения. Ниже мой рабочий код для администрирования устройстваКак установить пароль и пароль блокировки экрана UNSET в Android программно

public class DevicePolicyDemoActivity extends Activity { 
    static final String TAG = "DevicePolicyDemoActivity"; 
    static final int ACTIVATION_REQUEST = 47; // identifies our request id 
    DevicePolicyManager devicePolicyManager; 
    ComponentName demoDeviceAdmin; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     // Initialize Device Policy Manager service and our receiver class 
     devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 
     demoDeviceAdmin = new ComponentName(this, DemoDeviceAdminReceiver.class); 
     Intent intent = new Intent(
       DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); 
     intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, 
       demoDeviceAdmin); 
     intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, 
       "Your boss told you to do this"); 
     startActivityForResult(intent, ACTIVATION_REQUEST); 
    } 
} 

ответ

3

Для установки пароля вы можете использовать код ниже:

devicePolicyManager.setPasswordQuality(
            demoDeviceAdmin 
            ,DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED); 
devicePolicyManager.setPasswordMinimumLength(
            demoDeviceAdmin, 
            5); 
boolean result = devicePolicyManager.resetPassword("123456", 
         DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY); 
+0

Спасибо Арслан, Но здесь я не хочу блокировать экран. Я хочу установить пароль и отключить его, не доведя его до сведения пользователя и не влияя на приложение. – user45678

+0

ответ обновлен, посмотрите. –

0

попробовать этот пример:

public class Main extends Activity implements TextToSpeech.OnInitListener 
{ 
private TextToSpeech mTts; 
// This code can be any value you want, its just a checksum. 
private static final int MY_DATA_CHECK_CODE = 1234; 

/** 
* Called when the activity is first created. 
*/ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // Fire off an intent to check if a TTS engine is installed 
    Intent checkIntent = new Intent(); 
    checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA); 
    startActivityForResult(checkIntent, MY_DATA_CHECK_CODE); 

} 

/** 
* Executed when a new TTS is instantiated. Some static text is spoken via TTS here. 
* @param i 
*/ 
public void onInit(int i) 
{ 
    mTts.speak("Hello folks, welcome to my little demo on Text To Speech.", 
      TextToSpeech.QUEUE_FLUSH, // Drop all pending entries in the playback queue. 
      null); 
} 


/** 
* This is the callback from the TTS engine check, if a TTS is installed we 
* create a new TTS instance (which in turn calls onInit), if not then we will 
* create an intent to go off and install a TTS engine 
* @param requestCode int Request code returned from the check for TTS engine. 
* @param resultCode int Result code returned from the check for TTS engine. 
* @param data Intent Intent returned from the TTS check. 
*/ 
public void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (requestCode == MY_DATA_CHECK_CODE) 
    { 
     if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) 
     { 
      // success, create the TTS instance 
      mTts = new TextToSpeech(this, this); 
     } 
     else 
     { 
      // missing data, install it 
      Intent installIntent = new Intent(); 
      installIntent.setAction(
        TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA); 
      startActivity(installIntent); 
     } 
    } 
} 

/** 
* Be kind, once you've finished with the TTS engine, shut it down so other 
* applications can use it without us interfering with it :) 
*/ 
@Override 
public void onDestroy() 
{ 
    // Don't forget to shutdown! 
    if (mTts != null) 
    { 
     mTts.stop(); 
     mTts.shutdown(); 
    } 
    super.onDestroy(); 
} 

}