Ошибка приложения при попытке отправить SMS-сообщение

Я пытаюсь отправить SMS в kotlin, я написал простое приложение со следующим кодом:

import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.telephony.SmsManager import android.widget.TextView import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView = findViewById(R.id.mainTextView) as TextView SEND.setOnClickListener { textView.setText("click") val sm = SmsManager.getDefault() sm.sendTextMessage("123123123", null, "test", null, null) textView.setText("OK") } } } 

Когда я пытаюсь запустить приложение через USB-кабель из приложения AndroidStudio, вы не хотите разрешений, несмотря на то, что я добавил разрешение SEND_SMS для манифестации. Когда я нажимаю кнопку, приложение закрывается

вы должны запросить разрешение самостоятельно. Как описано в этом руководстве

 // Here, thisActivity is the current activity if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { // Should we show an explanation? if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, Manifest.permission.SEND_SMS)) { // Show an explanation to the user *asynchronously* -- don't block // this thread waiting for the user's response! After the user // sees the explanation, try again to request the permission. } else { // No explanation needed, we can request the permission. ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.SEND_SMS}, MY_PERMISSIONS_REQUEST_SEND_SMS); // MY_PERMISSIONS_REQUEST_SEND_SMS is an // app-defined int constant. The callback method gets the // result of the request. } } 

Если вы не хотите использовать разрешения во время выполнения, установите целевую версию SDK в 21 в Gradle.

Добавьте целевой SDK в свою Gradle следующим образом:

 android { defaultConfig { ..... ..... targetSdkVersion 21 } } 
Intereting Posts