ハングアウトまたはDuoでビデオ通話を開始する方法を探しています。どのインテントを使用する必要があるかに関するドキュメントは0のようです。誰かがアイデアを持っていますか?
A)HangoutUrlHandlerActivity
、ShortlinkUrlHandlerActivity
およびConversationUrlHandlerActivity
は、Intent
をUri
とともに受信するために使用できます。
これまでのところ、実際に機能していますが、進行中の会話とビデオ通話のみ:
a)進行中の会話を開く:
void joinConversation(@NonNull String conversationId) {
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = new Uri.Builder().scheme("content").authority("hangouts.google.com").appendPath("chat").appendPath(conversationId).build();
intent.setClassName("com.google.Android.talk", "com.google.Android.apps.hangouts.phone.ConversationUrlHandlerActivity");
intent.setDataAndType(uri, "vnd.google.Android.hangouts/vnd.google.Android.hangout_whitelist");
startActivity(intent);
}
b)進行中のビデオ通話に参加する(IDは hangouts.google.com/hangouts/_/meet から取得されます):
void joinHangout(@NonNull String callId) {
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = new Uri.Builder().scheme("content").authority("g.co").appendPath("hangout").appendPath(Uri.encode(callId)).build();
intent.setClassName("com.google.Android.talk", "com.google.Android.apps.hangouts.phone.ShortlinkUrlHandlerActivity");
intent.setDataAndType(uri, "vnd.google.Android.hangouts/vnd.google.Android.hangout_whitelist");
startActivity(intent);
}
直接招待できない場合でも、callId
を取得するCalendar APIを使用して通話をスケジュールすることで、スケジュールされた後でハングアウトに参加できます。 Google Meet は直接の招待をサポートしていませんが、Googleカレンダーの予定のみをサポートしています。
@ Mir Milad からのコメントに基づいて、少なくとも新しいテキスト会話を作成することができました。それでも誰かを呼び出すものは何もありません(最初のメッセージが送信されるとすぐに通知されます):
/** @param googleUserId that 21 digit Google user ID, aka Gaia ID */
void createConversation(@NonNull String googleUserId) {
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = new Uri.Builder().scheme("content").authority("hangouts.google.com").appendPath("chat").appendPath("person").appendPath(googleUserId).build();
intent.setClassName("com.google.Android.talk", "com.google.Android.apps.hangouts.phone.ConversationUrlHandlerActivity");
intent.setDataAndType(uri, "vnd.google.Android.hangouts/vnd.google.Android.hangout_whitelist");
startActivity(intent);
}
私の知る限り、ハングアウトの明示的な「電話」URLなどはありません。また、ウェブベースの場合でも、2つのGaia IDでハングアウトが開始されているため、会議室名が参加することになります。最近のコメントを見ると、Google独自の Hangouts Dialer でも壊れているようです。
B)Google Duoの場合、これはすでに回答されています こちら 。