Как запустить приложение-компаньон на мобильном устройстве со смарт-часов с помощью RemoteIntent

#android-studio #android-intent #wear-os

Вопрос:

У меня есть приложение для Android wear, в котором я хочу иметь кнопку «Продолжить на устройстве», которая запускает сопутствующее приложение на мобильном устройстве.

Когда приложение уже запущено, я могу «перезапустить» его, используя это удаленное намерение. Как я могу запустить приложение-компаньон с нуля?

 Intent intentAndroid = new Intent(Intent.ACTION_VIEW)
                            .addCategory(Intent.CATEGORY_BROWSABLE)
                            .setData(Uri.parse("myApplication"));
RemoteIntent.startRemoteActivity(context, intentAndroid, null);
 

Заранее спасибо.

Ответ №1:

Я, наконец, понял это. Я пропустил добавление фильтра намерений в манифест Android для действия, которое я хотел начать. Например:

 <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="myAppName" android:host="MainActivity" />
</intent-filter>
 

Затем вы можете запустить его с часов, используя:

 Intent intentAndroid = new Intent(Intent.ACTION_VIEW)
                            .addCategory(Intent.CATEGORY_BROWSABLE)
                            .setData(Uri.parse("myAppName://MainActivity"));
RemoteIntent.startRemoteActivity(context, intentAndroid, null);