Java 方法OnCreate(bundle)从未被调用,应用程序崩溃
我一直在尝试制作一个使用锁屏概念的应用程序,作为试运行,我创建了一个应用程序,在单击给定按钮时锁屏,我使用了基本概念,这是我的Java代码Java 方法OnCreate(bundle)从未被调用,应用程序崩溃,java,android,Java,Android,我一直在尝试制作一个使用锁屏概念的应用程序,作为试运行,我创建了一个应用程序,在单击给定按钮时锁屏,我使用了基本概念,这是我的Java代码 package com.example.gaurav.locknowtest2; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import an
package com.example.gaurav.locknowtest2;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.app.admin.DevicePolicyManager;
import android.app.admin.DeviceAdminReceiver;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends DeviceAdminReceiver{
public class controller extends Activity{
DevicePolicyManager dpm;
ComponentName comname;
Button b1;
TextView display;
public void OnCreate(Bundle xyz){
super.onCreate(xyz);
dpm=(DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
comname=new ComponentName(this,MainActivity.class);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.start);
display=(TextView)findViewById(R.id.xyz);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, comname);
startActivityForResult(intent,1);
display.setText("just to test the method");
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
if (resultCode == Activity.RESULT_OK) {
dpm.lockNow();
} else {
Log.i("DeviceAdminSample", "Administration enable FAILED!");
}
return;
}
}
}
}
接下来是我的清单,我认为这是造成所有问题的原因
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gaurav.locknowtest2" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity$controller"
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"
android:permission="android.permission.BIND_DEVICE_ADMIN" >
<meta-data
android:name="android.app.device_admin"
android:resource="@xml/device_admin_sample" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
</application>
</manifest>
我需要在本周之前完成这项工作,所以请看一下。您的方法写得不正确
public void OnCreate(Bundle xyz){
你有一个大写字母O
应该是这样的:
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
你的方法写得不正确
public void OnCreate(Bundle xyz){
你有一个大写字母O
应该是这样的:
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
你的方法写得不正确
public void OnCreate(Bundle xyz){
你有一个大写字母O
应该是这样的:
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
你的方法写得不正确
public void OnCreate(Bundle xyz){
你有一个大写字母O
应该是这样的:
@Override
public void onCreate(Bundle savedInstanceState) {
...
}
扩展
Activity
的类不能是另一个类的内部类,因为android系统需要能够在没有另一个类实例的情况下创建Activity
类的新实例。您的controller
类是MainActivity
的内部类,因此如果没有MainActivity
的实例,就无法实例化
看看这个答案:
另外,正如其他人指出的,您在
onCreate
中有一个输入错误。这意味着您已经创建了一个完全独立的方法,而不是在创建时重写onCreate
。但是,这并不能解释应用程序崩溃的原因。(您可以编写一个活动
类,该类不重写onCreate
,并且在不引发任何异常的情况下工作。)扩展Activity
的类不能是另一个类的内部类,因为android系统需要能够在没有另一个类的实例的情况下创建Activity
类的新实例。您的controller
类是MainActivity
的内部类,因此如果没有MainActivity
的实例,就无法实例化
看看这个答案:
另外,正如其他人指出的,您在
onCreate
中有一个输入错误。这意味着您已经创建了一个完全独立的方法,而不是在创建时重写onCreate
。但是,这并不能解释应用程序崩溃的原因。(您可以编写一个活动
类,该类不重写onCreate
,并且在不引发任何异常的情况下工作。)扩展Activity
的类不能是另一个类的内部类,因为android系统需要能够在没有另一个类的实例的情况下创建Activity
类的新实例。您的controller
类是MainActivity
的内部类,因此如果没有MainActivity
的实例,就无法实例化
看看这个答案:
另外,正如其他人指出的,您在
onCreate
中有一个输入错误。这意味着您已经创建了一个完全独立的方法,而不是在创建时重写onCreate
。但是,这并不能解释应用程序崩溃的原因。(您可以编写一个活动
类,该类不重写onCreate
,并且在不引发任何异常的情况下工作。)扩展Activity
的类不能是另一个类的内部类,因为android系统需要能够在没有另一个类的实例的情况下创建Activity
类的新实例。您的controller
类是MainActivity
的内部类,因此如果没有MainActivity
的实例,就无法实例化
看看这个答案:
另外,正如其他人指出的,您在
onCreate
中有一个输入错误。这意味着您已经创建了一个完全独立的方法,而不是在创建时重写onCreate
。但是,这并不能解释应用程序崩溃的原因。(您可以编写一个活动
类,该类不重写onCreate
,并且可以在不引发任何异常的情况下工作。)Java区分大小写,因此命名您的方法
public void OnCreate(Bundle bundle) {
不是
protected void onCreate(Bundle bundle) {
使用@Override
注释确保您实际上正在重写一个方法
另外,
public class controller extends Activity{
应该是public static class controller extends Activity{
,除了根据Java命名约定,类应该以C大写字母开头之外。Java是区分大小写的,因此命名方法
public void OnCreate(Bundle bundle) {
不是
protected void onCreate(Bundle bundle) {
使用@Override
注释确保您实际上正在重写一个方法
另外,
public class controller extends Activity{
应该是public static class controller extends Activity{
,除了根据Java命名约定,类应该以C大写字母开头之外。Java是区分大小写的,因此命名方法
public void OnCreate(Bundle bundle) {
不是
protected void onCreate(Bundle bundle) {
使用@Override
注释确保您实际上正在重写一个方法
另外,
public class controller extends Activity{
应该是public static class controller extends Activity{
,除了根据Java命名约定,类应该以C大写字母开头之外。Java是区分大小写的,因此命名方法
public void OnCreate(Bundle bundle) {
不是
protected void onCreate(Bundle bundle) {
使用@Override
注释确保您实际上正在重写一个方法
另外,public class controller extends Activity{
应该是public static class controller extends Activity{
除了根据Java命名约定,类应该以C大写字母开头之外。请发布C