Невозможно прочитать код приложения SMS для AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Невозможно прочитать код приложения SMS для Android

Сообщение Anonymous »

Я создаю приложение Smart SMS, которое заменит приложение Android «Сообщение» по умолчанию, используемое для отправки и получения сообщений. Я могу отправлять сообщения, но не могу их читать.
Я где-то читал, что несколько дней невозможно прочитать приложение, пока вы не сделаете свое приложение «приложением SMS по умолчанию».
но для этого нам нужно выполнить определенные функции.
Что я думаю, что я выполнил
  • Добавить необходимые разрешения
  • Добавить получатели, такие как BROADCAST_SMS и BROADCAST_WAP_PUSH
  • Основное приложение для реализации фильтров намерений
  • Запросить разрешение во время выполнения (действие по щелчку пользователя)
Но ничего не работает, может кто-нибудь подскажет мне, как это сделать.
Я вижу некоторые всплывающие окна при запуске приложения (и я их разрешаю), но не могу читать сообщения, так как они никогда не открываются, когда я нажимаю кнопку «Входящие».

Настройки -> Приложения -> Приложения по умолчанию -> Приложение SMS (Сообщения)
Не могу видеть свое приложение в приложениях по умолчанию

Нажатие кнопки «Входящие»

Код: Выделить всё

onNavigateToInbox = {
if (Telephony.Sms.getDefaultSmsPackage(this@MainActivity) != packageName) {
requestDefaultSmsApp()
} else {
navController.navigate("inbox")
}
}
Разрешения

Код: Выделить всё

    xmlns:tools="http://schemas.android.com/tools">










Фильтры намерений
и вот я также добавил в тег приложения

Код: Выделить всё

        android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Xter">



















Получатели
Я также добавил получатели Запрос разрешений
В метод onCreate файла MainActivity добавлено следующее

Код: Выделить всё

override fun onCreate(savedInstanceState: Bundle?) {
....
setContent {
XterTheme {
LaunchedEffect(Unit) {
if (Telephony.Sms.getDefaultSmsPackage(this@MainActivity) != packageName) {
requestDefaultSmsApp()
}
}
....
}
вот как выглядит моя функция requestDefaultSmsApp

Код: Выделить всё

private fun requestDefaultSmsApp() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val roleManager = getSystemService(RoleManager::class.java)

if (roleManager.isRoleAvailable(RoleManager.ROLE_SMS) &&
!roleManager.isRoleHeld(RoleManager.ROLE_SMS)
) {
val intent = roleManager.createRequestRoleIntent(RoleManager.ROLE_SMS)
startActivity(intent)
}
} else {
val intent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)
intent.putExtra(
Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,
packageName
)
startActivity(intent)
}
}
но ничего не работает

Подробнее здесь: https://stackoverflow.com/questions/798 ... ation-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»