Хотите получить историю звонков в приложении для Android. Но Playstore отклоняет приложение. (Kotlin или Java)JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Хотите получить историю звонков в приложении для Android. Но Playstore отклоняет приложение. (Kotlin или Java)

Сообщение Anonymous »

Я разрабатываю приложение, которое извлекает историю звонков для отправки сообщений WhatsApp на определенные номера. Однако магазин Google Play продолжает отклонять приложение, ссылаясь на то, что для доступа к истории вызовов оно должно быть приложением для набора номера по умолчанию или приложением-помощником-обработчиком. Хотя мое приложение не является приложением для набора номера, я готов сделать его номеронабирателем по умолчанию, если нет другого варианта.
Вот что я уже пробовал:
1. Попытайтесь установить приложение как номеронабиратель по умолчанию
Я использовал следующий код, чтобы отобразить диалоговое окно «Установить номеронабиратель по умолчанию»:

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

defaultDialerLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
Toast.makeText(this, "Default dialer set successfully!", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(this, "Failed to set as default dialer. ${result.resultCode}", Toast.LENGTH_SHORT).show()
}
}

val setDefaultDialerButton = findViewById(R.id.set_default_dialer_button)
setDefaultDialerButton.setOnClickListener {
val telecomManager = getSystemService(TELECOM_SERVICE) as TelecomManager
if (telecomManager.defaultDialerPackage != packageName) {
val intent = Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER).apply {
putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, packageName)
}
defaultDialerLauncher.launch(intent)
} else {
Toast.makeText(this, "Already set as default dialer", Toast.LENGTH_SHORT).show()
}
}
Однако диалоговое окно для установки приложения в качестве средства набора номера по умолчанию не отображается.
2. Использование RoleManager для роли номеронабирателя по умолчанию
Поскольку мое приложение предназначено для Android Q и более поздних версий, я также попробовал использовать RoleManager:

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

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
val roleManager = getSystemService(Context.ROLE_SERVICE) as RoleManager
if (roleManager.isRoleAvailable(RoleManager.ROLE_DIALER)) {
val intent = roleManager.createRequestRoleIntent(RoleManager.ROLE_DIALER)
intentLauncher.launch(intent)
}
}
Даже при таком подходе диалоговое окно не появляется, и приложение не установлено в качестве средства набора номера по умолчанию.
Изменения манифеста
Я добавил необходимые разрешения и фильтры намерений в файл AndroidManifest.xml: Мое требование
Мое приложение не является настоящим приложением для набора номера; Мне нужен только доступ к истории звонков. Однако, если сделать его номеронабирателем по умолчанию — единственный способ соблюсти правила Google Play, я готов реализовать эту функцию.
Как мне успешно сделать свое приложение номеронабирателем по умолчанию? Если есть альтернативный подход к доступу к истории вызовов, не становясь номеронабирателем по умолчанию, я также был бы признателен за рекомендации по этому поводу.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -kotlin-or
Ответить

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

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

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

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

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