标签: nexus-player

对于某些应用程序,getLaunchIntentForPackage为null

我正在构建一项服务,将安装的应用程序列表从Android TV或Fire TV发送到手机.然后,手机会发回它想要启动的应用程序的程序包名称,然后服务就会启动它.

这是创建列表的代码

public List<InstalledApp> GetInstalledApps(boolean isAndroid) {
    PackageManager pm = getPackageManager();
    List<ApplicationInfo> allPackages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
    List<InstalledApp> userPackages = new ArrayList<InstalledApp>();

    for (ApplicationInfo packageInfo : allPackages) {

        if (isSystemPackage(packageInfo)) continue;

        InstalledApp app = new InstalledApp();
        app.setPackageName(packageInfo.packageName);
        app.setAppName(pm.getApplicationLabel(packageInfo).toString());
        if (!isAndroid) {
            app.setIcon(pm.getApplicationIcon(packageInfo));
        }
        app.setAccentColor(getAccentColor(pm.getApplicationIcon(packageInfo)));


        userPackages.add(app);
    }

    return userPackages;
}
Run Code Online (Sandbox Code Playgroud)

这就是我启动应用程序的方式

public void launchApp(String packageName) {
    PackageManager pm = getPackageManager();
    Intent intent = pm.getLaunchIntentForPackage(packageName);
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

在Fire TV上,一切都很完美,但在Android TV上,许多应用程序的意图始终为空.这些才一点点.

  • com.haystack.android
  • com.netflix.ninja
  • tv.pluto.android
  • com.bamnetworks.mlbtv

但是使用相同的代码,这些应用程序工作正常.

  • com.hulu.livingroomplus
  • com.sling
  • com.frogmind.badland
  • com.songza.tv

谁能提供任何有关我可能做错的见解?

谢谢!

编辑: …

android android-tv amazon-fire-tv nexus-player

18
推荐指数
3
解决办法
2万
查看次数

UnsatisfiedLinkError:dalvik.system.PathClassLoader

我正在为AndroidTV制作申请并收到错误

java.lang.UnsatisfiedLinkError:
 dalvik.system.PathClassLoader[DexPathList[[zip file
 "/data/app/mytv.mytv-2/base.apk"
Run Code Online (Sandbox Code Playgroud)

在Android 6.0.1的NexusPlayer上.好奇它适用于Android 5.1.1的智能电视.

整个文本错误是:

java.lang.UnsatisfiedLinkError:
 dalvik.system.PathClassLoader[DexPathList[[zip file
 "/data/app/mytv.mytv-2/base.apk"],nativeLibraryDirectories=[/data/app/mytv.mytv-2/lib/x86, /data/app/mytv.mytv-2/base.apk!/lib/x86, /vendor/lib, /system/lib]]]
 couldn't find "libnmpsdk.so"
Run Code Online (Sandbox Code Playgroud)

如果有帮助.

(jniLabs很好用2个文件夹armeabi和armeabi-v7a,每个文件夹都有libnmpsdk.so)

日志显示的错误行包含以下部分代码:

static {
    System.loadLibrary("nmpsdk");
}
Run Code Online (Sandbox Code Playgroud)

如果有人遇到过这个问题,请告诉我,我还没有找到解决问题的方法.

提前致谢.

android android-tv nexus-player

7
推荐指数
1
解决办法
1万
查看次数

Google Play:声明一个应用仅适用于电视

我正在尝试发布Android TV应用程序,但是开发者控制台说:“您需要添加至少2个非Android TV屏幕截图。” 但此apk仅适用于Android TV,因为还有针对平板电脑和手机的另一个apk。如何仅定位Android TV?

另外,我只想为NexusPlayer提交此特定的APK,然后添加其他Android电视,因为该应用已在其上经过测试并确认了兼容性。问题是开发者控制台从默认设置为兼容的almos 3000设备(包括平板电脑和手机)开始,我只能看到手动禁用功能。

编辑

临时解决方案是仅针对大屏幕和超大屏幕,将自动支持的设备数量减少到800。仍然必须手动禁用不需要的设备,但杀伤力较小。

 <supports-screens android:smallScreens="false"
        android:normalScreens="false"
        android:largeScreens="true"
        android:xlargeScreens="true"
        android:requiresSmallestWidthDp="720" />
Run Code Online (Sandbox Code Playgroud)

publishing google-play android-tv nexus-player

3
推荐指数
1
解决办法
748
查看次数