代码之家  ›  专栏  ›  技术社区  ›  karthik

如何通过编程方式使用apk获取已开发的组织名称?

  •  1
  • karthik  · 技术社区  · 6 年前

    如果有人知道如何通过在android中使用apk以编程方式获得组织名称,请分享您的建议。仅供参考,我在此附上图片。

     This image I have marked the WhatsApp organization name, How to get this organization name programmatically by using apk.

    1 回复  |  直到 6 年前
        1
  •  1
  •   Sagar    6 年前

    无法直接从设置中读取此信息。但是,您可以从APK的签名证书中读取以下信息:

     public String getOrganizationName(final String packageName) {
            String orgName = null;
            try {
                Signature signatures[] = getPackageManager().getPackageInfo(packageName, PackageManager.GET_SIGNATURES).signatures;                
                for (Signature signature : signatures) {
                    final byte[] rawCert = signature.toByteArray();
                    InputStream certStream = new ByteArrayInputStream(rawCert);
    
                    try {
                        CertificateFactory certFactory = CertificateFactory.getInstance("X509");
                        X509Certificate x509Cert = (X509Certificate) certFactory.generateCertificate(certStream);
                        String issuerDn = x509Cert.getIssuerDN().getName();
                        int indexOfOrg = issuerDn.indexOf("O=");
                        int indexOfSeperator = issuerDn.indexOf(",", indexOfOrg);
                        final String organizationName = issuerDn.substring(indexOfOrg+2, indexOfSeperator);
                        if (orgName == null) {
                            orgName = organizationName;
                        }
                        Log.d("Test", "Organization Name: " + organizationName);
    
                    } catch (Exception e) {
                         e.printStackTrace();
                    }
    
                }
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
            return orgName;
     }
    

    按如下方式调用此方法:

    getOrganizationName("com.whatsapp"); //You can use any installed package name

    它将返回:

    WhatsApp Inc.

    推荐文章