启动应用程序问题

时间:2018-07-17 11:33:20

标签: android launch

Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage(getBaseContext().getPackageName());
if (i == null)
 throw new PackageManager.NameNotFoundException();
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {
  e.printStackTrace();
}

从应用程序更改语言后,当我在未签名的apk中使用此代码时,它将正常工作。

但是当我当时生成签名的apk时,此代码将无法工作。

请帮助我。

1 个答案:

答案 0 :(得分:0)

没有提供特定的错误,但是我的答案是基于抛出PackageManager.NameNotFoundException()的假设。

该应用可以获取自己的程序包名称,如下所示:

   Log.i(TAG, BuildConfig.APPLICATION_ID);

此外,我看不到代码的位置,但是我通常对使用getBaseContext()持谨慎态度。您可能需要对其进行更多研究,以查看它是否安全...