当前位置: 首页 > 知识库问答 >
问题:

PackageInfo提供名称NotFoundException

微生阳平
2023-03-14

我正在寻找使用我的应用程序在我的设备上安装的不同应用程序的第一次安装时间。非常基本的PackageManager-


    package com.example.testingpackageinfo;
    
    import androidx.appcompat.app.AppCompatActivity;
    import androidx.core.content.pm.PackageInfoCompat;
    
    import android.content.Context;
    import android.content.Intent;
    import android.content.pm.PackageInfo;
    import android.content.pm.PackageManager;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
    
        Button button ;
        TextView textView;
        Context context;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            context = this;
    
    
            button = findViewById(R.id.button);
            textView = findViewById(R.id.textView);
    
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
    
                    try {
                        PackageManager pm = context.getPackageManager();
                        PackageInfo pInfo = pm.getPackageInfo("com.google.android.youtube", 0);
                        long installTime = pInfo.firstInstallTime;
                        textView.setText(String.valueOf(installTime));
                    } catch (PackageManager.NameNotFoundException e) {
                        e.printStackTrace();
                        textView.setText("Package Not found");
                    }
                }
            });
    
    
        }
    }

共有1个答案

幸越泽
2023-03-14

试试这个:

 private boolean checkInstalledApp(String packageName, PackageManager packageManager) {
        try {
            packageManager.getPackageInfo(packageName, 0);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
    }
 类似资料:
  • 问题内容: 我在HTML页面上有几个具有相同类的元素-但是它们是不同的元素类型。我想在遍历元素时找出元素的标签名称-但是.attr不会使用“标签”或“标签名称”。 这就是我的意思。考虑页面上的以下元素: 现在,我想运行类似的代码,以确保所有元素都具有一个ID(如果尚未定义): 我想要的结果是H2和H4元素的ID为 分别。 关于如何发现“ this”表示的元素的标签名称的任何想法? 问题答案: 应该

  • 我正在尝试为我们的公司创建一个聊天机器人,我们可以向这个机器人发送消息,然后它使用opennlp解析字符串并运行一些脚本。 例如,一个查询是 这应该会触发closeRepo的脚本。用ProjectX参数sh。 我的问题是,它正确地将上述句子分为两部分: 还有“你能关闭ProjectX吗” 然而,并非所有可能的项目都被正确解析。我有一个projectname,opennlp不把它看作NP,而是作为A

  • 问题内容: 我有3个具有这种结构的表: Recipe Ingredients Relationship 例如,我搜索成分为“鸡肉”和“蛋黄酱”的食谱,然后它将显示所有包含这两种成分的食谱。我已经获得了代码: 但是我想要的是,当一个食谱仅包含鸡肉和蛋黄酱作为其成分时,它必须在单独的结果中显示。我怎样才能做到这一点? 问题答案: 通过添加一个HAVING子句-像这样: (注意:这将返回 仅 包含鸡肉和

  • 在我的pom.xml我创建了不同的配置文件烟雾和回归测试使用cucumber框架。使用下面的maven命令运行测试。以下是烟雾测试的例子: 测试运行正常,但即使我提供了,它也不会生成报告。我为cucumber使用了一个常见的运行类,所以我不能将文件名作为注释。 以下是pom.xml配置:

  • 问题内容: 因此,我完成了对应用程序进行编码以旋转TIFF图像的过程,这需要JAI操纵TIFF。 当在Eclipse下工作时,它工作正常,但是当我执行java -jar Push时,每当我为该库构建一个胖jar然后创建一个实现该胖jar的时候(根据http://fjep.sourceforge.net/fjeptutorial.html),它就可以正常工作。 jar \ path \ to \ d

  • 所以我有一个叫做PlayingCard的类,它创建了一个包含int秩和int花色(模拟扑克牌)的对象。 然后我需要创建一个名为PackBuilder的程序,该程序应该模拟使用我的类构建一副卡片。 问题是我不知道如何给每个对象起一个新名字。我想到了类似这样的数组: 但是它说cardDeck已经定义好了(我不确定我是否做得不对,或者使用数组是否不起作用) 我想要的命名方案类似于“card1”“card