क्या कोई ऐसा है जो स्क्रीन को लॉक करने के लिए पासवर्ड सेट करने के लिए कोड के साथ मेरी मदद कर सकता है? THXमैं प्रोग्राम पासवर्ड के साथ स्क्रीन लॉक कैसे सेट कर सकता हूं?
उत्तर
http://developer.android.com/guide/topics/admin/device-admin.html
private static DevicePolicyManager dpm =
(DevicePolicyManager)context
.getSystemService(Context.DEVICE_POLICY_SERVICE);
private static ComponentName admin =
new ComponentName(context, DeviceAdminManager.class);
// add password policies you want
dpm.setPasswordQuality(admin, DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
dpm.setPasswordMinimumLength(admin, 5);
**boolean result = dpm.resetPassword("newPassword", RESET_PASSWORD_WITHOUT_ENTRY);**
इस वेबसाइट http://blog.stef.be/patternlock जांच। इस वेबसाइट में, जावास्क्रिप्ट, एचटीएमएल और सीएसएस का उपयोग कर स्क्रीन लॉक पैटर्न के कार्यान्वयन को बहुत स्पष्ट रूप से परिभाषित किया गया था ... संपूर्ण कोड इसके ओपन सोर्स के बाद उपलब्ध है ... उम्मीद है कि यह आपको मदद करेगा
इस ऐप को अपने ऐप में इस्तेमाल करें, यह मेरे लिए काम करता है:
DevicePolicyManager devicePolicyManager =
DevicePolicyManager.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName demoDeviceAdmin = new ComponentName(this, name of activity);
devicePolicyManager.setPasswordQuality(
demoDeviceAdmin,DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
devicePolicyManager.setPasswordMinimumLength(demoDeviceAdmin, 5);
boolean result = devicePolicyManager.resetPassword("123456",
DevicePolicyManager.RESET_PASSWORD_REQUIRE_ENTRY);
Toast.makeText(this,
"button_lock_password_device..."+result,
Toast.LENGTH_LONG).show();
इसे जांचें। यह मेरे लिए काम किया।
LockScreenActivity.java
package com.kns;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class LockScreenActivity extends Activity implements OnClickListener {
private Button lock;
private Button disable;
private Button enable;
static final int RESULT_ENABLE = 1;
DevicePolicyManager deviceManger;
ActivityManager activityManager;
ComponentName compName;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
deviceManger = (DevicePolicyManager)getSystemService(
Context.DEVICE_POLICY_SERVICE);
activityManager = (ActivityManager)getSystemService(
Context.ACTIVITY_SERVICE);
compName = new ComponentName(this, MyAdmin.class);
setContentView(R.layout.main);
lock =(Button)findViewById(R.id.lock);
lock.setOnClickListener(this);
disable = (Button)findViewById(R.id.btnDisable);
enable =(Button)findViewById(R.id.btnEnable);
disable.setOnClickListener(this);
enable.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v == lock){
boolean active = deviceManger.isAdminActive(compName);
if (active) {
deviceManger.lockNow();
}
}
if(v == enable){
Intent intent = new Intent(DevicePolicyManager
.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
compName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"Additional text explaining why this needs to be added.");
startActivityForResult(intent, RESULT_ENABLE);
}
if(v == disable){
deviceManger.removeActiveAdmin(compName);
updateButtonStates();
}
}
private void updateButtonStates() {
boolean active = deviceManger.isAdminActive(compName);
if (active) {
enable.setEnabled(false);
disable.setEnabled(true);
} else {
enable.setEnabled(true);
disable.setEnabled(false);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case RESULT_ENABLE:
if (resultCode == Activity.RESULT_OK) {
Log.i("DeviceAdminSample", "Admin enabled!");
} else {
Log.i("DeviceAdminSample", "Admin enable FAILED!");
}
return;
}
super.onActivityResult(requestCode, resultCode, data);
}
}
MyAdmin.java
package com.kns;
import android.app.admin.DeviceAdminReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.widget.Toast;
public class MyAdmin extends DeviceAdminReceiver{
static SharedPreferences getSamplePreferences(Context context) {
return context.getSharedPreferences(
DeviceAdminReceiver.class.getName(), 0);
}
static String PREF_PASSWORD_QUALITY = "password_quality";
static String PREF_PASSWORD_LENGTH = "password_length";
static String PREF_MAX_FAILED_PW = "max_failed_pw";
void showToast(Context context, CharSequence msg) {
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
@Override
public void onEnabled(Context context, Intent intent) {
showToast(context, "Sample Device Admin: enabled");
}
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
return "This is an optional message to warn the user about disabling.";
}
@Override
public void onDisabled(Context context, Intent intent) {
showToast(context, "Sample Device Admin: disabled");
}
@Override
public void onPasswordChanged(Context context, Intent intent) {
showToast(context, "Sample Device Admin: pw changed");
}
@Override
public void onPasswordFailed(Context context, Intent intent) {
showToast(context, "Sample Device Admin: pw failed");
}
@Override
public void onPasswordSucceeded(Context context, Intent intent) {
showToast(context, "Sample Device Admin: pw succeeded");
}
}
main.xml
<textview android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="To Lock Screen First Enable it.." android:textsize="15sp"></textview>
<button android:id="@+id/lock" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Lock The Phone"></button>
<button android:id="@+id/btnEnable" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Enable"></button>
<button android:id="@+id/btnDisable" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Disable"></button></linearlayout>
policies.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>
</wipe-data></force-lock></reset-password></watch-login></limit-password></uses-policies>
</device-admin>
आप या तो लेआउट में या एक्सएमएल फ़ोल्डर में इस policies.xml हो सकता है। देखभाल करने की आवश्यकता केवल एक चीज है मेटाडाटाएंड्रॉइडमेनिफाई फ़ाइल में टैग।
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.kns" android:versioncode="1" android:versionname="1.0">
<uses-sdk android:minsdkversion="8">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".LockScreenActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN">
<category android:name="android.intent.category.LAUNCHER">
</category></action></intent-filter>
</activity>
<receiver android:name=".MyAdmin" android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data android:name="android.app.device_admin" android:resource="@layout/policies">
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED">
</action></intent-filter>
</meta-data></receiver>
</application>
</uses-sdk></manifest>
लॉक करने से पहले स्क्रीन आपको व्यवस्थापक अनुमति
सक्षम करने की आवश्यकता है तो फिर आप इस मिल जाएगा ..
के बाद स्क्रीन लॉक हो जाएगी आप सक्षम करें .. इस तरह
किसी संभावित समाधान का लिंक हमेशा स्वागत है, लेकिन कृपया [लिंक के चारों ओर संदर्भ जोड़ें] (http://meta.stackoverflow.com/a/8259/169503) ताकि आपके साथी उपयोगकर्ताओं को कुछ पता चल जाएगा कि यह क्या है और क्यों यह वहाँ है। यदि लक्षित साइट पहुंच योग्य नहीं है या स्थायी रूप से ऑफलाइन हो जाती है, तो हमेशा एक महत्वपूर्ण लिंक के सबसे प्रासंगिक भाग को उद्धृत करें। ध्यान दें कि किसी बाहरी साइट_ के लिंक से अधिक स्पष्ट रूप से होना संभव है [क्यों और कैसे कुछ उत्तरों हटा दिए गए हैं?] (Http://stackoverflow.com/help/deleted-answers)। –
धन्यवाद XaviLópez – Sathish
एसओ में योगदान के लिए धन्यवाद! –
एंड्रॉयड एन काम नहीं कर रहा, See Here
नोट: यह एपीआई युक्ति व्यवस्थापक कि डिवाइस स्वामी और प्रोफ़ाइल नहीं स्वामी नहीं हैं, के लिए एन के रूप में सीमित किया गया है। यदि पासवर्ड वर्तमान में कोई पासवर्ड सेट नहीं है तो पासवर्ड केवल तभी बदला जा सकता है। डिवाइस स्वामी और प्रोफ़ाइल स्वामी तब भी ऐसा कर सकते हैं जब उपयोगकर्ता अनलॉक हो और प्रबंधित प्रोफ़ाइल न हो।
था "गतिविधि का नाम" क्या है? कौन सी गतिविधि? – Furqan
गतिविधि का नाम क्या है? – Karthik
"गतिविधि का नाम" डिवाइसAdminReceiver से विरासत में प्राप्त वर्ग का नाम है। –