2017-03-27 4 views
1

Diese Arbeit fein ..Gibt es einen SMS Picker wie Kontakt Picker Android?

Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts")); 
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); 
startActivity(intent); 

Aber, wenn ich dies versuchen ..

Intent intent = new Intent(Intent.ACTION_PICK, Uri.parse("content://sms/inbox")); 
    intent.setType(Telephony.Sms.Inbox.PERSON); 
startActivity(intent); 

ich diese Fehlermeldung bekam ..

E/InputEventReceiver: Exception dispatching input event. 
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback 
E/MessageQueue-JNI: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.PICK typ=person } 

ist es tatsächlich eine SMS Picker? , weil ich nicht alle Nachrichten auf meine App laden möchte, ich möchte nur direkt aus Android Standard Sms app .. bitte helfen .. thx ..

+0

"Gibt es tatsächlich einen SMS Picker?" - Nein, da ist nicht. –

+0

@MikeM. Weil mein Client wie 6000msms hat und es die App einfrieren/zwingen schließt .. so denke ich, dass es am besten ist, wenn er mesage direkt von Androider-SMS-app auswählen kann .. btw .. für Fall wie diesen, jede beste Lösung, das zu tun ? .. thx .. – Riky

+0

Es gibt keine Picker zur Verfügung. Was möchten Sie eigentlich erreichen, möchten Sie die Nachrichten lesen oder möchten Sie einen Text in der Nachrichten-App senden? – Avi

Antwort

0

Nachricht App bieten nicht PICK Verhalten Sie können nur die Meldung durch diese

senden Nachricht von android-Gerät lesen Sie ein gutes in diesen Links finden

Read messages from device-1

Read messages from device-2

Cursor cursor = context.getContentResolver().query(
         SMS_INBOX_CONTENT_URI, 
         new String[] { "_id", "thread_id", "address", "person", "date", "body" }, 
         WHERE_CONDITION, 
         null, 
         SORT_ORDER + String.format(" LIMIT %s OFFSET %s", limit, offset)); 

Bitte beziehen Sie sich auf die obige Abfrage und in jeder Paginierung Offset wird Start Index und Limit wird die Anzahl der Daten, die Sie abholen wollen.

+0

Sie können die Seitennummerierung in der Cursorabfrage verwenden, indem Sie LIMIT% s OFFSET% s angeben. – Avi

+0

wenn ich eine Liste für 50sms habe, und nächste als nächstes scrolle ich die Liste nach unten und es ist automatisch hinzufügen mehr 50ms, welches Widget kann ich für diesen Zweck verwenden? thx ... – Riky

+0

Sie können RecyclerView verwenden und wenn Sie am Ende erreichen möchten, können Sie die nächsten Daten von Ihrem SMS-Helfer anfordern. – Avi