问题描述:
在开发机顶盒App的时候,产品有一个需要跳转第三方App的需求,跳转代码如下:
public void startApk(String packageName) throws NameNotFoundException {
Intent intent = new Intent();
packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
intent = packageManager.getLaunchIntentForPackage(packageName);
mContext.startActivity(intent);
}
之前测试几个第三方App都没有问题,到了现场部署的时候出现了intent为null为现象,原因是:
用以上方式跳转需第三方App配置android.intent.category.LAUNCHER这个属性才可以获取到intent。(之前测试的都配置了)
发现问题之后,改成了隐式跳转:
Intent intent = new Intent("com.hisense.ott.home.launch");
context.startActivity(intent);