我已經構建了一個短信應用程序,它支持短信活動(只有短信)的所有功能。但現在,我的問題是,當我的應用程序已經是默認的短信,我不能從通過我的應用程序發送短信到聯繫人視圖的號碼。這裏是圖像來解釋我想達到什麼。 When I click to the sms icon,my app is opened by I can't get the number 我沒有任何代碼在我的活動中處理動作SEND/SENDTO,但我剛剛在清單文件中提到了intent-filter:action.SEND,action.SENDTO,因爲如果我們想要使用應用程序可選作爲默認的短信應用程序。我認爲來自聯繫人視圖的號碼是從onActivityResult訪問的,但它似乎不起作用,請幫忙!從聯繫人視圖,如何發送聯繫人號碼到我的短信應用程序,發送短信到它
回答
正從通訊錄中SENDTO
時,數量 - 可能有多個號碼 - 將作爲數據Uri
上開始你的Activity
的Intent
進行安裝。在初始化您的Activity
時,請檢查相應的操作,並在必要時檢索號碼。
對於一個簡單的例子:
if (Intent.ACTION_SENDTO.equals(getIntent().getAction())) {
Uri data = getIntent().getData();
String numbers = data.getSchemeSpecificPart();
}
對於一個更堅實的實現,這將是審慎的剝奪任何其他參數上可能出現的Uri
,並更換任何非拉丁數字。
if (Intent.ACTION_SENDTO.equals(getIntent().getAction())) {
Uri data = getIntent().getData();
String numbers = data.getSchemeSpecificPart();
// Strip any extraneous parameters
int i = numbers.indexOf('?');
numbers = (i == -1) ? numbers : numbers.substring(0, i);
// Replace non-Latin digits, and ensure our delimiter is something we expect
numbers = PhoneNumberUtils.replaceUnicodeDigits(numbers).replace(",", ";");
...
}
如果接收到多個號碼,他們應該來一個逗號或者分號分隔String
。上面的代碼用分號代替逗號,所以我們以後不必擔心使用了哪些。你可以簡單地split()
numbers
得到個人數字,如果你收到多個。
非常感謝。我會試試這個,並讓你知道結果。這真的是我需要的代碼 –
工程就像一個魅力,謝謝,你救了我的一天! –
沒問題。樂意效勞。歡迎來到堆棧溢出,順便說一句。乾杯! –
- 1. 如何向聯繫人發送短信?
- 2. 如何從聯繫人發送短信和號碼?
- 3. 如何向多個聯繫人發送短信
- 4. 將短信發送到存儲在文本視圖中的多個聯繫人
- 5. 發送短信給SQLite數據庫中的每個聯繫人
- 6. 從我的android應用程序發送短信到Whatsapp到特定的聯繫人
- 7. 如何查看聯繫人的短信?
- 8. 傳送短信/彩信/從Android到Web服務器的聯繫人
- 9. android短信發送到收到號碼
- 10. 如何將短信轉發到選定的聯繫人到我的Android應用程序的whatsapp?
- 11. 實現添加聯繫人在iPhone短信應用程序
- 12. 從Windows應用程序發送短信
- 13. 如何發送消息到聯繫人列表號碼
- 14. iPhone編程:發短信?訪問聯繫人列表?
- 15. 使用ajax發送聯繫人詳細信息到數據庫
- 16. 發件人ID發送GSM短信
- 17. Android過去的短信聯繫人/號碼
- 18. Android:使用互聯網發送短信
- 19. 根據所選的聯繫人發送電子郵件或短信
- 20. CNContact保存聯繫人時不會發送聯繫人圖片
- 21. 如何使用電話簿中的聯繫人發送短信而不是編寫電話號碼?
- 22. 如何從移動短信網站發送聯繫表格信息?
- 23. 獲取聯繫人短信數量和聯繫電話時間
- 24. 如何發送短信給多個聯繫人,並獲得他們每個人的結果代碼在android123
- 25. 發送短信時更改發件人號碼
- 26. 發送短信程序
- 27. 如何獲取聯繫人和短信信息
- 28. 發送短信
- 29. 發送短信
- 30. 發送短信
請編輯您的問題,以提供處理'SEND' /'SENDTO'操作的'Activity'的代碼,並解釋您在檢索電話號碼/聯繫人ID時遇到的問題。 –
好吧,我更新了我的問題。正如我在我的問題中解釋的那樣,我沒有任何代碼來處理聯繫人的數據,你能建議我一個還是隻是一個有用的鏈接? –
是的,這個號碼將被附加到用於啓動你的Activity的'Intent'。 'onActivityResult()'方法對此不起作用。給我一分鐘,我會彙總一個答案。 –