Инициирование видеозвонка
Я использую последнюю версию GTalk (используя установщик Talk с рынка) на моем Gingerbread Galaxy Tab P1000.
Теперь я хочу программно инициировать видеозвонок при условии, что соответствующий контакт находится в сети и доступен.
Поскольку я не нашел никакой документации для этого, я заглянул в соответствующий XML и нашел следующую интересную часть:
<activity-alias android:icon="@drawable/ic_launcher_google_videochat" android:name="PublicCallIntentDispatcher" android:targetActivity="PublicIntentDispatcher">
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/video-chat-address" android:scheme="xmpp" />
</intent-filter>
</activity-alias>
Поскольку это действие "Отправить", мне не нужно специального разрешения, не так ли? Моя проблема в том, что я не знаю, как получить элемент типа vnd.android.cursor.item / video-chat-address. У вас есть идея или намек на то, что я мог бы попробовать?
Заранее спасибо!
2 ответа
Редактировать:
Пришлось немного взломать вокруг разборки, но я получил это (где электронная почта - это адрес, который вы хотите):
Uri imUri = new Uri.Builder().scheme("xmpp").authority("gtalk").query("call;type=video").appendPath(email).build();
Intent IM = new Intent(Intent.ACTION_SENDTO);
IM.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
IM.setData(imUri);
startActivity(IM);
Это работает, но все равно дает подсказку о том, хотите ли вы начать видеочат, что не совсем то, что мне нужно. Надеюсь, это поможет другим людям.
Извините, это не поддерживается. Копаясь в таком приложении, вы смотрите на детали его реализации; если вы не получите документацию от автора приложения о том, какие взаимодействия с ним поддерживаются, лучшее, что вы можете сделать, это придумать код, который может сломаться в любой момент в будущем при обновлении этого приложения.