Как настроить smsmanager.sendTextMessage pendingIntents в Kotlin - PullRequest
0 голосов
/ 18 июня 2020

Итак, это мое первое приложение, которое я разрабатываю в Kotlin, и я решил сделать приложение для текстовых сообщений для развлечения. Мне удалось настроить smsmanager.sendTextMessage для отправки текста, но у меня возникли проблемы с настройкой для него pendingIntents. Я нашел много java руководств, которые по большей части были полезны, но теперь я застрял.

Вот мой код на данный момент ...

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    var MY_PERMISSIONS_REQUEST_SENDSMS = 1
    var MY_PERMISSIONS_REQUEST_READCONTACTS = 1
    val messageText = findViewById<TextView>(R.id.message_text)
    val inputNumber = findViewById<EditText>(R.id.input_number)
    val inputMessage = findViewById<EditText>(R.id.input_message)
    val button = findViewById<Button>(R.id.go_button)
    val inputManager:InputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager

    if (ContextCompat.checkSelfPermission(this,android.Manifest.permission.READ_CONTACTS)
        != PackageManager.PERMISSION_GRANTED)
    {
        ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.READ_CONTACTS),
            MY_PERMISSIONS_REQUEST_READCONTACTS)
    }

    button.setOnClickListener{

        val enteredNumber = inputNumber.getText().toString()
        val enteredMessage = inputMessage.getText().toString()


        if (ContextCompat.checkSelfPermission(this,android.Manifest.permission.SEND_SMS)
            != PackageManager.PERMISSION_GRANTED)
        {
            ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.SEND_SMS),
                MY_PERMISSIONS_REQUEST_SENDSMS)
        }

        if(!isEmpty(enteredMessage) && !isEmpty(enteredNumber))
        {
            val smsManager = SmsManager.getDefault() as SmsManager
            smsManager.sendTextMessage(enteredNumber, "12314370338", "$enteredMessage...Eat SHIT!", null, null)

            messageText.setText(enteredMessage)

            inputMessage.getText().clear()

            inputManager.hideSoftInputFromWindow(
                currentFocus?.windowToken,
                InputMethodManager.SHOW_FORCED
            )
        }else if(isEmpty(enteredNumber)){
            Toast.makeText(getApplicationContext(),"Enter a contact number.",Toast.LENGTH_SHORT).show()
        }else if(isEmpty(enteredMessage)){
            Toast.makeText(getApplicationContext(),"The message field can't be empty",Toast.LENGTH_SHORT).show()
        }else{
            Toast.makeText(getApplicationContext(), "You broke something!  How did you get here?",Toast.LENGTH_LONG).show()
        }
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...