当前位置: 首页 > 知识库问答 >
问题:

Android应用程序在KitKat4.4上推出后似乎会崩溃

萧自珍
2023-03-14

当我的应用程序安装在我的相对较新的运行奥利奥8.0的华为上时,我的应用程序能够顺利地启动和运行。该应用程序在运行Lollipop的Nexus模拟器上也运行良好。然而,在我的另一部运行KitKat4.4的手机上,应用程序在启动时就崩溃了。

我认为问题是在添加默认NavigationDrawerActivity时发生的。

public class LoginActivity extends Activity {


    private UserLoginTask mAuthTask = null;

    // UI references.
    private EditText mEmailView;
    private EditText mPasswordView;
    private TextView mRegistrationScreen;
    private View mProgressView;
    private View mLoginFormView;
    public String id;

    @Override
    @TargetApi(19)
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
        ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);

        setContentView(R.layout.activity_login_registration);
        // Set up the login form.
        mEmailView = (EditText) findViewById(R.id.email);
        mPasswordView = (EditText) findViewById(R.id.password);

        Button mEmailSignInButton = (Button) findViewById(R.id.email_sign_in_button);

        mLoginFormView = findViewById(R.id.login_form);
        mProgressView = findViewById(R.id.login_progress);
        mRegistrationScreen = findViewById(R.id.registerLink);
        mEmailSignInButton.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                String emailAddress = mEmailView.getText().toString().trim();
                String password = mPasswordView.getText().toString().trim();
                UserLoginTask callDOIB = new UserLoginTask();
                try {
                    String loginSuccessFail = callDOIB.execute(emailAddress, password).get();
                    try {
                        JSONObject jsonObject = new JSONObject(loginSuccessFail);
                        id = jsonObject.getString("id");
                        //JSONObject id = jArray.getJSONObject(0);
                        System.out.println("json object at LoginActivity id is "+id);
                        authoriseLogin(loginSuccessFail, id);
                    }catch (JSONException e){
                        e.printStackTrace();
                    }

                }catch(InterruptedException e){
                    e.printStackTrace();
                }
                catch (ExecutionException e){
                    e.printStackTrace();
                }
            }
        });

        mRegistrationScreen.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
                Intent loadRegistration = new Intent(LoginActivity.this, RegisterActivity.class);
                startActivity(loadRegistration);
            }
        });
    }






    public void authoriseLogin(String authorise, String id){
        if (authorise.contains("id")) {
            System.out.println(" accessLRA.authoriseLogin login has been called");
            Session session = new Session(getApplicationContext());
            session.setId(id);
            Intent loadPersonal = new Intent(LoginActivity.this, MainActivity.class);
            startActivity(loadPersonal);

            System.out.println("Login has been authorised");
        }
        else{
            System.out.println("Incorrect username or password");
        }
    }





    }

java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.a_phi.myApplication/com.example.a_phi.myApplication.LoginActivity}:Android.View.InflateException:二进制XML文件行#2:inflating类时出错

共有1个答案

汪文光
2023-03-14

正如评论部分所建议的,我实际上丢失了一些支持Android Kitkat的API level 21的其他RES-V21文件夹。出于某种原因,我没有把他们搬到我的新项目中。现在起作用了,谢谢。

 类似资料:
  • 经过测试,它在非android程序上工作,但在android上初始化后立即崩溃。日志cat也没有生成任何错误消息。我从CircularFifoBuffer找到了这个。 编辑2: 08-05 21:12:48.837:I//system/bin/batteryd(1189):1566474 v_bat 3.678(3.677),i_supply 0.500,i_demand 0.282=>v_bat

  • 在Azure中,我开发了一个函数(应用服务),当新的csv文件放入特定存储帐户时会触发该函数。该函数是在Azure中开发的,每次上传新的csv文件时都不会出现问题。但是考虑到CI/CD,我决定将我的开发过程从Azure迁移到Visual Studio(2017)。 代码在本地运行没有任何问题,但一旦我将代码发布到Azure(通过VSTS),挑战就开始了。当新的csv文件上传到存储帐户时,触发器似乎

  • 问题内容: 每次我从Eclipse导出签名应用程序并将apk文件安装到手机上时,该应用程序都会崩溃。这仅在启用Proguard的情况下发生。 这是我的保护文件 我运行了adb logcat命令来检查崩溃报告。以下是我认为很重要的报告摘要: 第二段: 如果有人可以帮助我,我将非常感谢并接受您的回答。 更新: 所以我将这些添加到我的proguard文件中 现在启用Proguard时出现与Jackson

  • 我的应用程序运行良好,但自从Android Oreo来到Google Pixel XL后,它一直崩溃,随之而来的是异常堆栈跟踪

  • 我的应用程序的目的是通过一个自定义对话框从一个评级栏中检索一个值(5分),并将其显示在主activity的一个TextView中。当我点击我在下图中用红色勾勒出来的按钮时,应用程序崩溃并关闭。 该应用程序由2个类/活动组成。主activity和自定义对话框activity。 这两个文件的代码可以在下面找到: mainactivity.java: mealRaterDialog.java: 我是An

  • 在以前的代码上,谁医生帮了我 现在,android应用程序在我的手机上运行时崩溃了,这是错误日志 第一个问题是在我用相机扫描二维码后,它不能显示在二维码的结果进入 第二个问题是,我从存储器中选择了一个QRcode图像,然后点击确认,它崩溃了 下面是我认为的问题 类型不匹配:推断的类型是Uri?但乌里是意料之中的 冗余SAM构造函数 'onRequestPermissionsResult(Int,数