簡體   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