SMS-Android-Anwendungscode kann nicht gelesen werdenAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 SMS-Android-Anwendungscode kann nicht gelesen werden

Post by Anonymous »

Ich erstelle eine Smart-SMS-Anwendung, die die Standard-Android-Anwendung „Message“ zum Senden und Empfangen von Nachrichten ersetzen wird. Ich kann Nachrichten senden, aber nicht lesen.
Ich habe vor einigen Tagen irgendwo gelesen, dass es nicht möglich ist, die Anwendung zu lesen, bis Sie Ihre App als „Standard-SMS-App“ festlegen.
Aber dazu müssen wir bestimmte Funktionalitäten erfüllen.
Was ich meiner Meinung nach abgeschlossen habe
  • Erforderliche Berechtigungen hinzufügen
  • Empfänger wie BROADCAST_SMS und BROADCAST_WAP_PUSH hinzufügen
  • Hauptanwendung zum Implementieren von Intent-Filtern
  • Berechtigung zur Laufzeit anfordern (Benutzerklickaktion)
aber es funktioniert überhaupt nichts. Kann mir bitte jemand zeigen, wie es geht.
Ich sehe einige Popups beim Start der Anwendung (und ich erlaube sie), aber Nachrichten können nicht gelesen werden, da sie nie weitergehen, wenn ich auf die Schaltfläche „Posteingang“ klicke

Einstellungen -> Apps -> Standard-Apps -> SMS-App (Nachrichten)
Meine Anwendung wird in Standard-Apps nicht angezeigt

Klick auf die Schaltfläche „Posteingang“

Code: Select all

onNavigateToInbox = {
if (Telephony.Sms.getDefaultSmsPackage(this@MainActivity) != packageName) {
requestDefaultSmsApp()
} else {
navController.navigate("inbox")
}
}
Berechtigungen

Code: Select all

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










Absichtsfilter
und hier habe ich auch das Anwendungs-Tag hinzugefügt

Code: Select all

        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">



















Empfänger
Ich habe auch die Empfänger hinzugefügt

Code: Select all

        












Berechtigungen anfordern
Folgendes in der MainActivity-Datei onCreate-Methode hinzugefügt

Code: Select all

override fun onCreate(savedInstanceState: Bundle?) {
....
setContent {
XterTheme {
LaunchedEffect(Unit) {
if (Telephony.Sms.getDefaultSmsPackage(this@MainActivity) != packageName) {
requestDefaultSmsApp()
}
}
....
}
So sieht meine requestDefaultSmsApp-Funktion aus

Code: Select all

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)
}
}
aber nichts funktioniert

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post