gpt4 book ai didi

android - 如何在不使用包管理器的情况下获取启动器 Activity/Intent (用于自包)

转载 作者:行者123 更新时间:2023-11-29 02:39:53 25 4
gpt4 key购买 nike

我有一个在 3 个不同包之间共享的基本代码。
我想获取当前包的启动器 Activity ,这就是我今天所做的:

PackageManager pm = context.getPackageManager();
intent = pm.getLaunchIntentForPackage(context.getPackageName());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
flag = PendingIntent.FLAG_UPDATE_CURRENT;
return PendingIntent.getActivity(context, 0, intent, flag);

但我收到了一份关于 Caused by java.lang.RuntimeException: Package manager has died
的崩溃报告使用的context属于一个应该运行的服务,但众所周知,它总是会因为系统要求而停止。
我知道我可以捕获异常,但启动 Intent 将丢失。
我希望有一种资源需求较少的方法来获取自包的启动 Intent 。

附言另一种解决方案是使用每个包的主要 Activity 初始化某种单例,但由于 packageName 在运行时已知,我想我可以避免实现这一点。

最佳答案

我可以尝试使用可以捕获包之间事件的广播接收器。因此,您可以发送、存储任何您想要的数据,而无需终止事件。

关于android - 如何在不使用包管理器的情况下获取启动器 Activity/Intent (用于自包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44984908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com