我正在編程一個Android應用程序。我想調用其他應用程序來執行某些操作(發送電子郵件等)。我如何知道爲意圖設置了哪個操作和類別?我應該看看其他應用程序的意圖過濾器嗎?如果該應用程序不是開源的呢?另外,對於數據或額外的屬性,我不知道第三方應用程序如何處理我的意圖,所以我不知道如何設置屬性。例如,我想要一個字符串作爲電子郵件的標題,一個字符串作爲電子郵件的內容,另一個字符串作爲收件人,圖片作爲附件。我可以在意圖中包含所有這些信息嗎?如果第三方應用程序不提供任何功能來處理它,該怎麼辦?如何爲意圖設置動作,類別和數據?
4
A
回答
5
通常,對於Android中的常見任務,您可以發送其他應用程序可以註冊的一般意圖。
例如分享一些文字,您將創建一個意圖,如:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));
將促使Android的本機共享對話框中,用戶可以選擇他想要怎樣分享。
具體的電子郵件,你會做這樣的事情:
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto","[email protected]", null));
intent.putExtra(Intent.EXTRA_SUBJECT, "This is my email subject");
startActivity(Intent.createChooser(intent, "Email"));
其他例子可以是啓動默認的短信應用:
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.setData(Uri.parse("sms:"));
sendIntent.putExtra("sms_body", getMessageBody());
或者打開手機的撥號:
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
你需要弄清楚你想在你的應用中實現什麼動作,然後弄清楚如何實現它們中的每一個。
你可以在這裏找到更多的數據:
- Android content sharing
- Android intents - 下的各種意圖的行動
+0
您能說明如何將附件添加到意圖中嗎? –
1
嘗試使用類別和行動意圖。
Intent mailIntent = new Intent(Intent.ACTION_SEND);
mailIntent.setType("text/plain");
mailIntent.putExtra(Intent.EXTRA_SUBJECT, "Reporting mail");
mailIntent.putExtra(Intent.EXTRA_TEXT, "Some message");
mailIntent.putExtra(Intent.EXTRA_EMAIL, "[email protected]");
startActivity(mailIntent);
這是一個發送電子郵件的例子。欲瞭解更多信息,請參閱http://developer.android.com/guide/components/intents-common.html
相關問題
- 1. 如何將意圖數據設置爲當前活動editText?
- 2. 設置Highcharts系列和類別的數據動態
- 3. 如何動態設置Highcharts類別?
- 4. Android設置兒童意圖動作欄
- 5. 有兩個動作和類別的意圖過濾器
- 6. 將當前類別設置爲活動
- 7. 如何爲表格視圖設置背景圖片和其他類別的UIView
- 8. Android的活動意圖過濾器,動作視圖和類別默認
- 9. 如何將相機意圖設置爲主要活動
- 10. magento設置子類別作爲根類別
- 11. Android的 - 同時設置類和行動意圖
- 12. 從Xml的角度來看,什麼是動作,類別和數據(Android的意圖過濾器)稱爲?
- 13. 意圖額外和意圖數據之間有什麼區別?
- 14. 爲WKWebview設置AVAudioSession類別
- 15. 如何爲特定的類和包設置日誌級別?
- 16. 如何爲控制器動作設置多個別名
- 17. 如何將代表和數據源設置爲UITableViewController的視圖?
- 18. 通過MediaWiki API設置類別和其他元數據
- 19. 數據庫設計 - 多個類別和多個子類別
- 20. 與類別和子類別相關的數據庫設計
- 21. 如何爲Observable設置處理動作?
- 22. 如何爲動作表設置標籤?
- 23. 如何設置位圖作爲掩碼
- 24. 如何在動作腳本中設置位圖數據的位置?
- 25. 如何在Robolectric開始活動之前設置意圖和配置
- 26. 如何爲類中的所有測試設置測試類別
- 27. 如何顯示數據庫中的類別和子類別
- 28. 如何設置mongoexport的數據類型
- 29. Android - 如何在Android應用程序中啓動Google地圖意圖設置縮放級別和標記
- 30. 如何設置活動類?
請看這裏https://developer.android.com/guide/components/intents-common.html。您不應該擔心哪個第三方應用會處理它,因爲系統會處理它 – Panther