繁体   English   中英

请求权限时应用程序崩溃

[英]App crashes when requesting permission

在运行方法SendSMS(string 1, string 2);之前,我正在使用此代码请求 SMS 权限SendSMS(string 1, string 2); 但我的应用程序在权限请求发生之前崩溃。 缺少了什么?

 final private int REQUEST_CODE = 101;

private void SendCreditSMS() {
    if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS)
            != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(MainActivity.this,
                new String[]{Manifest.permission.SEND_SMS}, REQUEST_CODE);
    } else {
        SendSMS("181", "رصيد");
    }
}

尝试这个,

    final private int REQUEST_CODE = 101;


    private void SendCreditSMS() {
      if (Build.VERSION.SDK_INT >= 23) {
            if (ActivityCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.SEND_SMS)
                    != PackageManager.PERMISSION_GRANTED) 
            {
                ActivityCompat.requestPermissions(MainActivity.this,
                        new String[]{android.Manifest.permission.SEND_SMS}, REQUEST_CODE);
            } else 
            {
                SendSMS("181", "رصيد");
            }
        }
        else{
            SendSMS("181", "رصيد");
        }
    }

问题可能是由于您将请求许可的活动声明为没有历史记录的原因。 要解决此问题,请从 AndroidManifest 文件中相关活动的代码块中删除android:noHistory="true"行。 要进行没有历史记录的活动,您可以使用其他调用,例如finishAndRemoveTask()

尝试转到 Android 设备中的应用程序管理器并选择您当前正在执行的应用程序。 然后检查设备是否授予在您的设备中使用 send_sms 服务的权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM