package t1.yb;import android.app.Activity;
import android.app.admin.DeviceAdminReceiver;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;public class mainActivity extends Activity {
Button btn1, btn2, btn3;
DevicePolicyManager devicePolicyManager;
ComponentName componentName; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
btn3 = (Button) findViewById(R.id.btn3);
devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
componentName = new ComponentName(mainActivity.this, lockclass.class);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(!devicePolicyManager.isAdminActive(componentName)) {
Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
componentName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"(可自定义区域2)");
startActivityForResult(intent, 1);
}
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
devicePolicyManager.removeActiveAdmin(componentName);
}
});
} public class lockclass extends DeviceAdminReceiver {
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="t1.yb"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity
android:name=".mainActivity"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".mainActivity$lockclass"
android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin" /> <intent-filter>
<action
android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
</application>
<uses-sdk
android:minSdkVersion="8" /></manifest>
<?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>
报错 为什么
09-26 10:33:36.079: ERROR/AndroidRuntime(728): FATAL EXCEPTION: main
09-26 10:33:36.079: ERROR/AndroidRuntime(728): java.lang.RuntimeException: Unable to instantiate receiver t1.yb.mainActivity$lockclass: java.lang.InstantiationException: t1.yb.mainActivity$lockclass
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2789)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at android.app.ActivityThread.access$3200(ActivityThread.java:125)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2083)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at android.os.Handler.dispatchMessage(Handler.java:99)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at android.os.Looper.loop(Looper.java:123)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at android.app.ActivityThread.main(ActivityThread.java:4627)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at java.lang.reflect.Method.invokeNative(Native Method)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at java.lang.reflect.Method.invoke(Method.java:521)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at dalvik.system.NativeStart.main(Native Method)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): Caused by: java.lang.InstantiationException: t1.yb.mainActivity$lockclass
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at java.lang.Class.newInstanceImpl(Native Method)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at java.lang.Class.newInstance(Class.java:1429)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2780)
09-26 10:33:36.079: ERROR/AndroidRuntime(728): ... 10 more
为什么
之前我也这么写过但是没有报错为什么这次会报错