teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードの変更と試した事を追記

2024/04/02 21:19

投稿

Dimlos
Dimlos

スコア2

title CHANGED
File without changes
body CHANGED
@@ -2,9 +2,6 @@
2
2
  ネットの情報を元にgetLaunchIntentForPackageでGmailを指定してみましたがアプリ選択の画面が出てしまいます。
3
3
  どのように修正すればGmailに明示的インテントを送信できるのか教えて頂けないでしょうか?
4
4
 
5
-
6
-
7
-
8
5
  ```kotlin
9
6
  package com.example.intent_mail
10
7
 
@@ -18,14 +15,18 @@
18
15
  override fun onCreate(savedInstanceState: Bundle?) {
19
16
  super.onCreate(savedInstanceState)
20
17
  setContentView(R.layout.activity_main)
18
+ val intent = Intent().apply {
21
- val intent = Intent(Intent.ACTION_SENDTO).apply {
19
+ intent.setAction(Intent.ACTION_SENDTO)
20
+ //intent.setPackage("com.google.android.gm")
21
+ //intent.setClassName("com.google.android.gm","com.google.android.gm.ComposeActivityGmailExternal")
22
22
  data = Uri.parse("mailto:")
23
- putExtra(Intent.EXTRA_EMAIL, arrayOf("abc@abc.com"))
23
+ putExtra(Intent.EXTRA_EMAIL, arrayOf("abc@abc.com","def@abc.com"))
24
- putExtra(Intent.EXTRA_SUBJECT, "件名")
24
+ putExtra(Intent.EXTRA_SUBJECT,"テストの件名")
25
- putExtra(Intent.EXTRA_TEXT, "本文");
25
+ putExtra(Intent.EXTRA_TEXT,"テストの本文");
26
- packageManager.getLaunchIntentForPackage("com.google.android.gm");
27
26
  }
28
- startActivity(intent);
27
+ startActivity(intent);
28
+ finish()
29
29
  }
30
30
  }
31
31
  ```
32
+ intent.setPackageとintent.setClassNameを個別にアクティブにして試しましたが上手くいきません。クラス名はShortcutMakerでSendtoでGmailのメール作成画面が起動する事を確認しています。