AIIK01 2014-04-10 10:14 采纳率: 0%
浏览 2043

获取静态apk包(未安装)的packagename

frameworks\base\services\java\com\android\server\pm\PackageManagerService.java
installPackageWithVerificationAndEncryption(...)方法中 获取静态apk包(未安装)的packagename.....
具体方法如下:
final String archiveFilePath = packageURI.getPath();
PackageParser pp = new PackageParser(archiveFilePath);
File sourceFile = new File(archiveFilePath);
DisplayMetrics metrics = new DisplayMetrics();
metrics.setToDefaults();
PackageParser.Package pkg = pp.parsePackage(sourceFile,
archiveFilePath, metrics, 0); //此时获取的pkg也为null
if(pkg!=null){
Log.i("0410","pkg is not null");
}else{
Log.i("0410","pkg is null");
}

可是获取的pkg为null 请高手指点指点.....

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-01 22:40
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在AndroidManifest.xml文件中添加以下权限:

    <uses-permission android:name="android.permission.INTERNET" />
    

    然后在你的Activity中导入以下权限:

    import android.Manifest;
    import android.content.pm.PackageManager;
    
    public class MainActivity extends AppCompatActivity {
    
        private static final int REQUEST_CODE_PERMISSIONS = 123456789;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.INTERNET},
                    REQUEST_CODE_PERMISSIONS);
        }
    }
    

    以上就是在AndroidManifest.xml中添加权限的方法。

    评论

报告相同问题?