Android Wear App не отображается в меню "Пуск..." на часах

Я добавил модуль износа в свое приложение для Android в Android Studio. В мобильном модуле я указал эту строку в мобильных приложениях build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:+'
    compile "com.android.support:support-v4:20.0.+"
    wearApp project(':wear')
}

Кроме того, вот мой AndroidManifest.xml для модуля износа.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.wear" >

    <uses-feature android:name="android.hardware.type.watch" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.DeviceDefault" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

В logcat я вижу сообщения о том, что приложение установлено на часы.

09-16 17:12:03.075: D/WearablePkgInstaller(1023): Got PackageUpdateReceiver message Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.myapplication flg=0x4000010 cmp=com.google.android.wearable.app/com.google.android.clockwork.companion.packagemanager.PackageUpdateReceiver (has extras) }

Тем не менее, я не могу пойти в Start... найти приложение! Есть что-то очевидное, что я упускаю?

3 ответа

Решение

Мне не хватало этой строки из носимого AndroidManifest.xml

Более конкретно, это должно быть в разделе приложения структуры xml.

<application
    android:icon="@drawable/ic_launcher"
    ... >

    <meta-data android:name="com.google.android.clockwork.home.preview" 
        android:resource="@drawable/ic_launcher" />

Убедитесь, что ваш AndroidManifest.xml содержит что-то вроде:

<activity
    android:name=".MyActivity"
    android:label="MyActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

(Предполагая в приведенном выше примере, что действие, которое вы хотите запустить из Start, это com.myapplication.MyActivity, и вы хотите, чтобы оно отображалось в списке "Пуск" как "MyActivity".)

Возможно, вы забыли объявить об активности лаунчеру в манифесте. Есть ли у вас активность с этими фильтрами?

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Другие вопросы по тегам