Wie werden Kontaktdetails für Apps angezeigt und behandelt?
Nicht sicher, wie es heißt, aber wenn Sie den Bildschirm mit den Kontaktdetails der Kontakt-App öffnen, werden dort verschiedene Apps angezeigt, auf die Sie klicken können, um Aktionen auszuführen (z. B. Anrufen und Senden von Nachrichten über Viber und WhatsApp):
Das ProbleIch weiß nicht, wie diese Aktionen aufgerufen werden, daher kann ich nicht herausfinden, wie ich sie untersuchen soll. Ich habe versucht, nach den einzelnen sozialen Netzwerken zu suchen, wie sie verwendet werden sollen, aber dies scheint eine Menge Aufwand zu bedeuten, der in Zukunft möglicherweise nicht einmal gut funktioniert.
Ich möchte diese Aktionen für alle Apps abfragen, anzeigen und verarbeiten, die in der nativen Kontakt-App angezeigt werden.
Was ich versucht habeIch habe versucht, die verwendeten Absichten zu untersuchen, und festgestellt, dass für Viber Folgendes für Nachrichten verwendet werden kann:
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.android.contacts/data/"+id));
intent.setPackage("com.viber.voip");
Ich weiß jedoch nicht, was diese "ID" ist, nur dass sie funktioniert, weil ich sie mit echten Daten getestet habe. Ich habe auch versucht, die gesamte Kontaktdatenbank auszudrucken, um den richtigen Wert (und die Zuordnung) zu finden, aber ich habe ihn nicht gefunden.
Auch kann ich nicht finden, wie diese Informationen gefunden worden sein sollten. Ich vermute, dass es wahrscheinlich eine Abfrage der verfügbaren Mimetypen enthalten sollte, und überprüfen Sie sie auf dem angegebenen Kontakt (wahrscheinlich mit Kontakt-ID).
Die FragWie kann ich einen Kontakt (ID oder Telefonnummer) anzeigen und den Vorgang ausführen, der auf dem Bildschirm mit den Kontaktdetails der Kontakt-App angezeigt wird?