가능한 이유는
1) 나는로 확장 당신이 올바른 클래스를 추가하지 않은
2)의 AndroidManifest.xml에서 수신기의 메타 데이터 일부 문제가 (있다고 생각 DeviceAdminReceiver)를 adminComponent 또는 수신자의 android : name 속성으로 설정합니다.
많은 시간을 보낸 후 코드를 만들었습니다. 주요 활동
public class LockerTest extends Activity {
protected static final int REQUEST_ENABLE = 0;
DevicePolicyManager devicePolicyManager;
ComponentName adminComponent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.btn);
button.setOnClickListener(btnListener);
}
Button.OnClickListener btnListener = new Button.OnClickListener() {
public void onClick(View v) {
adminComponent = new ComponentName(LockerTest.this, Darclass.class);
devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (!devicePolicyManager.isAdminActive(adminComponent)) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, adminComponent);
startActivityForResult(intent, REQUEST_ENABLE);
} else {
devicePolicyManager.lockNow();
}
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (REQUEST_ENABLE == requestCode) {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
에 대한
코드는 새로운 클래스를 생성 - Darclass - 코드
import android.app.admin.DeviceAdminReceiver;
public class Darclass extends DeviceAdminReceiver{
}
폴더 '입술'에서 'XML'을 만듭니다. 그런 다음 'xml'폴더에 my_admin.xml 파일을 만듭니다. my_admin.xml에 대한 코드. </activity>
후이 수신기를 추가하고 </application>
<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>
전에 참고 마지막으로 그것은 당신의 장치에서 작동합니다 당신의 AndroidManifest.xml
에 <receiver
android:name=".Darclass"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<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>
노호 주어진 수신기를 추가합니다.
그냥 궁금해서 USES_POLICY_FORCE_LOCK을 (를) 사용하셨습니까? 나는 또한 locknow()가 모토로라 장치에 대해 도청되었지만 DroidX에 관한 태블릿이 아니라는 것을 읽었습니다. –
네, 노력을 해주셔서 감사합니다. USES_POLICY_FORCE_LOCK' –