Ich möchte Kontakte über Contacts Picker
wie folgt lesen:Lesen von Kontakten ohne Erlaubnis?
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(contact, CONTACT_PICK_CODE);
Wenn ich das Ergebnis bekommen, das intent.getData()
ein uri
enthält den Kontakt zum Nachschlagen, aber ich brauche die Erlaubnis READ_CONTACTS
, um es zu lesen.
Ich dachte, es könnte möglich sein, einen Kontakt ohne diese Erlaubnis zu erhalten, ähnlich der CALL
Erlaubnis: Wenn ich direkt anrufen möchte, brauche ich es, aber ohne es kann ich eine Nummer an die Telefon-App senden, und der Benutzer muss auf den Anrufknopf klicken.
Gibt es eine ähnliche Funktionalität für READ_CONTACTS
Ich bin mir nicht bewusst?
ich bis zu einem gewissen Grad zustimmen. Aber "Daten per Hand eingeben" ist ein schlechtes Beispiel für "Nummer an Dialer senden". Ich kann die tatsächliche Nummer senden, und der Benutzer muss sie nicht selbst eingeben. Wenn ich "Kontakte im Hintergrund abfragen" möchte, wie in einem AutoComplete EditText, ist die Berechtigung sinnvoll. Der Benutzer ist möglicherweise nicht bewusst, dass auf Kontakte zugegriffen wird. ABER Wenn ich dem Benutzer SEINE KONTAKT APP zeige und er eine auswählen muss, wie kann er nicht wissen, dass auf seine "Kontakte" zugegriffen wird? Es ist nur ein Vorteil für ihn, anstatt die Daten einzugeben, um einen aus den Kontakten –
PLUS zu nehmen, dass die meisten Berechtigungen bei 'startActivityForResult' fehlschlagen. In ContactPicker kann der Benutzer seinen Kontakt auswählen, und ich bekomme eine Datenabsicht zurück, ohne die Erlaubnis zu benötigen. Unglückliche Daten enthalten nur ein Nachschlage-URI, das dann diese Berechtigung benötigt, wenn Sie es lesen wollen. –
Wenn ich das richtig verstehe, möchten Sie, dass der Benutzer einen Kontakt auswählt, aber Sie müssen entweder alle seine Kontakte lesen und eine Liste erstellen, von der aus die Benutzer-Kontakt-App die Kontaktdaten des ausgewählten Kontakts an Ihren senden muss Absicht. Der zweite Weg kann unmöglich sein, abhängig von der Benutzerkontakt-App und der erste benötigt die Erlaubnis :) – DaKirsche