Android 电视未正确启动 activity
Android TV not starting correct activity
我有一个应用应该 运行 在 phone 和电视上。在清单中,我将 phone 的启动 activity 指定为
<activity
android:name=".view.phone.MainActivity"
android:launchMode="singleTop"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
电视的发布 activity
<activity
android:name=".view.leanback.MainActivity"
android:launchMode="singleTop"
android:label="@string/app_name"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
不是在 LAUNCHER 和 LEANBACK_LAUNCHER 之间进行过滤,而是在任一设备上它只与清单中首先声明的 activity 一起使用。知道我做错了什么吗?
您正在使用相同的 Activity 名称 MainActivity
来调用您的电视和 Phone 应用程序。更改其中一个名称,您应该可以开始了。如第一步所示 here,您的 activity 电视名称应不同于您的 phone 应用程序的 activity 名称。
我的解决方案是像这样创建 2 个启动配置:
我有一个应用应该 运行 在 phone 和电视上。在清单中,我将 phone 的启动 activity 指定为
<activity
android:name=".view.phone.MainActivity"
android:launchMode="singleTop"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
电视的发布 activity
<activity
android:name=".view.leanback.MainActivity"
android:launchMode="singleTop"
android:label="@string/app_name"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
不是在 LAUNCHER 和 LEANBACK_LAUNCHER 之间进行过滤,而是在任一设备上它只与清单中首先声明的 activity 一起使用。知道我做错了什么吗?
您正在使用相同的 Activity 名称 MainActivity
来调用您的电视和 Phone 应用程序。更改其中一个名称,您应该可以开始了。如第一步所示 here,您的 activity 电视名称应不同于您的 phone 应用程序的 activity 名称。
我的解决方案是像这样创建 2 个启动配置: