【问题标题】:How to Access Default Apps, having no application id?如何访问没有应用程序 ID 的默认应用程序?
【发布时间】:2020-04-20 16:14:14
【问题描述】:

我正在学习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 的手机上运行此应用程序怎么办,那么如何解决这个问题?

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

【问题讨论】:

    标签: java android android-studio android-intent android-implicit-intent


    【解决方案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();
    }}
    

    【讨论】:

    • 您的意思是,要访问这两个应用程序,我需要从第三方应用程序(如包名称查看器 2.0)获得帮助?对吗?
    • 作为一个选项,您需要检索应用程序的包名称,我认为使用此应用程序比使用 adb 或设备资源管理器查找包更容易和更快。
    猜你喜欢
    • 2013-06-07
    • 2019-09-13
    • 2014-01-24
    • 2011-11-14
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多