首页 > 解决方案 > 对于应用程序的发布变体,callingPackageName 为 null

问题描述

我正在使用 startActivityForResult 并启动一个活动,比如 DestActivity。在 DestActivity 中,对于发布变体,callingPackageName 为 null,但对于调试变体则很好。知道为什么会发生吗?发布版本和调试变体都启用了 Minify。

标签: androidandroid-activity

解决方案


我在一家电信公司的安卓机顶盒上遇到了这个问题。问题是 DestActivity 使用另一个活动的 startActivityForResult() 正确启动。当我在 onCreate() 中读取它以进行调试构建时,在 DestActivity 中,callingPackage 正常运行。但是对于发布版本,callingPackage 即将为空。

当我进一步深入研究时,似乎 callPackage 是可以为空的值,并且在首次访问后发布版本的某些内容使其为空。因此,我没有直接使用它,而是创建了一个局部变量来保存 callPackage 的值,然后在需要的地方使用该局部变量。令人惊讶的是,它就像一个魅力。


推荐阅读