Итак, это мое первое приложение, которое я разрабатываю в 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()
}
}
}
}