如何访问没有应用程序 ID 的默认应用程序?

How to Access Default Apps, having no application id?

我正在学习Implicit Intents。我正在制作一个涵盖大部分 implicit intent 概念的应用程序,此应用程序的屏幕截图在这里。

在此应用程序中,我想访问设备 default Weather and Radio applicationsBut the problem is these two apps don't even have Application id。为了在我的设备 Oppo 中获取这两个默认应用程序的 Application id,我进行了很多搜索。如果我 运行 这个应用程序在另一个具有不同 application id 的 phone 上怎么办,那么如何解决这个问题?

这两个应用程序都在这里:

您无法像使用隐式意图的浏览器一样打开这些应用程序。 不同的制造商使用不同的天气和广播应用程序。因此,唯一的解决方案是使用包名称启动应用程序。要找出应用程序的包,您可以使用 ADB 或任何包查看器应用程序。比如下一个https://play.google.com/store/apps/details?id=com.csdroid.pkg&hl=uk

然后使用下一个代码打开应用程序。

public void openApp(Context context, String packageName) {
PackageManager packageManager = context.getPackageManager();
Intent launchIntent = packageManager.getLaunchIntentForPackage(packageName);

if (launchIntent != null) {
    context.startActivity(launchIntent);
} else {
    Toast.makeText(context, "Package not found", Toast.LENGTH_SHORT).show();
}}