1

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

在此处输入图像描述

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

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

在此处输入图像描述

4

1 回答 1

1

您不能像浏览器一样打开这些应用程序,因为它们具有隐含的意图。不同的制造商使用不同的天气和广播应用程序。因此,唯一的解决方案是使用包名称启动应用程序。要找出应用程序的包,您可以使用 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();
}}
于 2020-04-20T17:23:25.393 回答