2013-10-28 51 views
0

我有一個列表視圖與設備上安裝的所有應用程序。有沒有一種方法,點擊應用程序將其相對APK複製到手機中的文件夾中?讓我解釋一下,例如,我點擊瀏覽器應用程序,在示例文件夾中複製它的APK(Browser.apk)。所以我Example/Browser.apk。這是我在OnClick on Application上的代碼,該代碼暫時卸載應用程序,但是我將其替換爲文件夾中複製APK的功能。將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); 
} 
+1

不可能(除非根),以防止易於模式APK共享。 – zapl

+0

我不必分享APK,但將其複製到另一個文件夾。 –

回答

1

要獲取應用程序的.apk文件編程,你必須:

  1. 獲取所有安裝的應用程序
  2. 獲取公共源目錄
  3. 將文件複製到和SD卡

注意:不需要紮根。

的snipet代碼:

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 
} 
+0

你可以發佈我的代碼來複制文件夾中的APK?請使用我的代碼段。 –

+0

本網站無法如此操作:$如果您遇到問題,請告訴我們您是如何解決問題的,並從那裏獲得幫助。 –

相關問題