如何访问没有应用程序 ID 的默认应用程序?
How to Access Default Apps, having no application id?
我正在学习Implicit Intents
。我正在制作一个涵盖大部分 implicit intent
概念的应用程序,此应用程序的屏幕截图在这里。
在此应用程序中,我想访问设备 default Weather and Radio applications
。 But 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();
}}
我正在学习Implicit Intents
。我正在制作一个涵盖大部分 implicit intent
概念的应用程序,此应用程序的屏幕截图在这里。
在此应用程序中,我想访问设备 default Weather and Radio applications
。 But 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();
}}