0

我有一个 ListView,其中包含设备上安装的所有应用程序。有没有办法在点击应用程序时将其相关 APK 复制到手机的文件夹中?让我解释一下,例如,我单击浏览器应用程序,将其 APK (Browser.apk) 复制到示例文件夹中。所以我示例/Browser.apk。这是我的 OnClick on Application 代码,暂时卸载应用程序,但我会将其替换为在文件夹中复制 APK 的功能。

protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    ApplicationInfo app = applist.get(position);

    Uri packageUri = Uri.parse("package:"+app.packageName);
    Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageUri);
    startActivity(uninstallIntent);
}
4

1 回答 1

1

要以编程方式获取应用程序的 .apk 文件,您必须:

  1. 获取所有已安装的应用程序
  2. 获取公共源目录
  3. 将文件复制到 SDCard

注意:无需root。

片段代码:

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

final List pkgAppsList = getPackageManager().queryIntentActivities( mainIntent, 0);

for (Object object : pkgAppsList) {

    ResolveInfo info = (ResolveInfo) object;
    File file =new File( info.activityInfo.applicationInfo.publicSourceDir);

    // Copy the .apk file to wherever
}
于 2013-10-28T17:30:47.913 回答