Czy istnieje sposób, aby otworzyć działanie Wiadomości na Androidzie za pomocą konkretnego SMS-a?Jak otworzyć konkretny SMS w Androidzie
12
A
Odpowiedz
9
threadId
powinien być identyfikator SMS/MMS wątku chcesz zobaczyć
Intent defineIntent = new Intent(Intent.ACTION_VIEW);
defineIntent.setData(Uri.parse("content://mms-sms/conversations/"+threadId));
myActivity.startActivity(defineIntent);
Jest to najprostszy sposób znalazłem
2
Wygrzebałem to ze źródła dla aplikacji Wiadomości (lines 311-315), więc jestem pewien, że to zadziała, ale nie mam z tym żadnego doświadczenia.
// threadId should be the id of the sms/mms thread you want to view
long threadId = 0;
Intent i = new Intent("com.android.mms");
i.setData(
Uri.withAppendedPath(
i.getData(), Long.toString(threadId)
)
);
i.setAction(Intent.ACTION_VIEW);
+0
Myślę, że "identyfikator wątku" różni się od "sms id"? różne sms od tej samej osoby (każda ma własny identyfikator) może mieć ten sam identyfikator wątku. – n179911
4
Spróbuj
int req_thread_id;
Uri mSmsinboxQueryUri = Uri.parse("content://sms"));
Cursor cursor1 = getContentResolver().query(
mSmsinboxQueryUri,
new String[] { "_id", "thread_id", "address", "person", "date",
"body", "type" }, null, null, null);
startManagingCursor(cursor1);
if (cursor1.getCount() > 0)
{
while (cursor1.moveToNext())
{
int thread_id = cursor1.getInt(1);
String address; = cursor1.getString(cursor1
.getColumnIndex(columns[0]));
if("your desired no".equals(address)
req_thread_id = thread_id;
}
}
Intent defineIntent = new Intent(Intent.ACTION_VIEW);
defineIntent.setData(Uri.parse("content://mms-sms/conversations/"+req_thread_id));
myActivity.startActivity(defineIntent);
0
ten Fragment pochodzi z komentarza w zaakceptowanej odpowiedzi. Zamieszczanie tutaj metody dla potomności.
public static long findThreadIdFromAddress(Context context, String address) {
if (address == null)
return 0;
String THREAD_RECIPIENT_QUERY = "recipient";
Uri.Builder uriBuilder = THREAD_ID_CONTENT_URI.buildUpon();
uriBuilder.appendQueryParameter(THREAD_RECIPIENT_QUERY, address);
long threadId = 0;
Cursor cursor = null;
try {
cursor = context.getContentResolver().query(
uriBuilder.build(),
new String[] { Contacts._ID },
null, null, null);
if (cursor != null && cursor.moveToFirst()) {
threadId = cursor.getLong(0);
}
} finally {
if (cursor != null) {
cursor.close();
}
}
return threadId;
}
Powiązane problemy
- 1. Jak otworzyć konkretny folder z galerii na Androidzie?
- 2. Usuń SMS w Androidzie 1.5
- 3. SMS raw pdu w Androidzie
- 4. Znaki specjalne w Androidzie sms
- 5. Raport o dostarczeniu wiadomości SMS w Androidzie
- 6. Blokuj połączenia przychodzące i sms w Androidzie
- 7. Jak uzyskać numer telefonu odbiorcy SMS w Androidzie
- 8. Jak uzyskać wersję roboczą SMS-a w Androidzie 6 Marshmallow
- 9. Otwarcie głównej intencji konwersacji SMS na Androidzie
- 10. W Androidzie, jak otworzyć wiele projektów w jednym oknie?
- 11. Rozróżnianie wiadomości MMS i SMS za pomocą słuchaczy MMS/SMS w Androidzie
- 12. Jak otworzyć Fragment na przycisku kliknięcie z fragmentu w Androidzie
- 13. Jak otworzyć stronę fragmentu, po naciśnięciu powiadomienia w Androidzie
- 14. Jak otworzyć plik PDF w Androidzie z folderu zasobów?
- 15. jak otrzymać SMS sms do określonego portu ..
- 16. Jak otworzyć pobrany plik w Androidzie z domyślną aplikacją dostępną w Androidzie
- 17. Jak otworzyć domyślną przeglądarkę z captive na Androidzie
- 18. jak wysłać program SMS?
- 19. Jak utworzyć bramkę SMS?
- 20. treść: // mms-sms/rozmowy/zwrot NullPointerException na Androidzie ICS Samsung
- 21. Jak obudzić ekran w Androidzie
- 22. Twilio: Jak zmapować odpowiedź SMS na oryginalną wiadomość SMS
- 23. SMS kolejka Handling za niewykonanie SMS
- 24. Biblioteka SMS w C#
- 25. powiadomienia SMS w iOS6
- 26. Jak otworzyć alternatywną przeglądarkę internetową (Mozilla lub Firefox) i wyświetlić konkretny adres URL?
- 27. Jak ustalić, które klasy implementują konkretny interfejs w Eclipse?
- 28. Android: Wysyłaj SMS i wyświetlaj w skrzynce SMS?
- 29. Jak znaleźć konkretny plik w IntelliJ IDEA?
- 30. Jak wybrać konkretny toolchain gcc w klangu?
Jak uzyskać identyfikator wątku sms? – Janusz
Spróbuj spojrzeć na metodę findThreadIdFromAddress() tutaj: http://code.google.com/p/android-smspopup/source/browse/trunk/SMSPopup/src/net/everythingandroid/smspopup/SmsPopupUtils.java –
@paul_sns Dead połączyć. – VickyS