2010-12-29 4 views
2

특정 대화에서 메시지 응용 프로그램을 여는 인 텐트를 만들고 싶습니다. 짧은 메시지 알림이 로그 캣을 클릭하면특정 단문 메시지 대화로 점프하는 인 텐트를 생성하는 방법은 무엇입니까?

다음을 보여준다 :

INFO/ActivityManager(31909): Starting activity: Intent { act=android.intent.action.VIEW dat=content://mms-sms/conversations/3 flg=0x34000000 cmp=com.android.mms/.ui.ConversationList bnds=[0,586][600,682] } 

이 데이터가 올바른 대화의 메시지 응용 프로그램을 시작으로 content://mms-sms/conversations/3를 사용하여 조금 더 저를 가져왔다. 이제 메시지가 속한 대화를 알아 내면됩니다.

+2

문서화 된 방법이 없습니다. 사용자가 그 앱을 사용하고 있거나 사용하고 있다는 것을 어떻게 알 수 있습니까? – Falmarri

+0

mms-sms 데이터를 데이터로만 설정했습니다. 전화에 다른 SMS 앱이있는 경우이 의도를 듣고 올바른 활동을 시작할 수도 있습니다. sms api는 슬프게도 공식적으로 문서화되지 않았으므로 지금까지는 더 좋은 방법을 찾을 수 없었습니다. – Janusz

답변

1

Android 소스를 탐색하고 특히 SMS/MMS ContentProvider 소스를 살펴볼 것을 제안합니다. 결국 우리는 SMS/MMS가 SQLite 데이터베이스에 저장되어 있고 ContentProvider는 특정 Uri 문자열을 작성하여 SQL 테이블에 액세스하는 것임을 알고 있습니다. 귀하의 경우에는 열린 우리당 문자열 :

내용 : // MMS-SMS/대화/3 FLG = 0x34000000 CMP = com.android.mms/.ui.ConversationList bnds = [0586] [600682]

그래서이 문자열을 일반적인 데이터 쿼리로 구문 분석하는 방법을 이해해야합니다. 나는 그것이 안드로이드 소스에서 찾을 수 있다고 생각합니다.

관련 문제