【问题标题】:convert boolean to string将布尔值转换为字符串
【发布时间】:2018-09-07 00:11:17
【问题描述】:

我有应用程序来检查应用程序是否安装并使用了这个布尔值

 final boolean b1 = appInstalledOrNot("com.whatsapp");

.....


 private boolean appInstalledOrNot(String uri) {
        PackageManager pm = getPackageManager();
        boolean app_installed;
        try {
            pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
            app_installed = true;
        }
        catch (PackageManager.NameNotFoundException e) {
            app_installed = false;
        }
        return app_installed;
    }
}

我想将布尔值转换为字符串并获得正确的值。我试过了,但如果我想删除应用程序,会收到错误“找不到包”

 String str = String.valueOf(b1);

【问题讨论】:

  • 你能分享你得到的确切错误,包括堆栈跟踪吗?
  • 应用内错误..如果单击按钮卸载..这意味着使用转换的方式是错误的,因为如果使用字符串直接工作正常
  • 为什么需要将布尔值转换为字符串?您没有说明您需要该字符串的用途。

标签: java android


【解决方案1】:
   This is how you can modify your approach 

            PackageInfo pinfo;

            try {
                pinfo = getPackageManager().getPackageInfo("Your package name", 0);
            } 
            catch (NameNotFoundException e1) {   
                pinfo = null;
            }

            if(pinfo!=null)
              {
               **"Installed"**
              }
            else
               {
               "Not Installed"
               }

我不明白你为什么这么接近,这会带来最好的结果。 检查这个。这就是我们将我们的包与 Playstore 中的包进行比较的方式。

public String getSignature(String pkgName) throws NameNotFoundException {
            PackageInfo pi = pkgMngr.getPackageInfo(pkgName, GET_SIGNATURES);
        String signature = pi.signatures[0].toCharsString();
        return signature;
    } 

    public boolean doSignaturesMatch(String pkg1, String pkg2) {
        boolean match = pkgMngr.checkSignatures(pkg1, pkg2) == SIGNATURE_MATCH;
        return match;
    } 

    public boolean isInstalledFromMarket(String pkgName)
            throws NameNotFoundException { 
        String installerPkg = pkgMngr.getInstallerPackageName(pkgName);
        boolean installedFromMarket = "com.google.android.feedback"
                .equals(installerPkg);

【讨论】:

    【解决方案2】:
    String booleanString = Boolean.toString(boolValue)
    

    【讨论】:

    • 我也试试这个..同样的问题
    猜你喜欢
    • 1970-01-01
    • 2012-03-10
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多