话不多说,直接show code
diff --git a/packages/providers/DownloadProvider/src/com/android/providers/downloads/DownloadProvider.java b/packages/providers/DownloadProvid
index e6b2b1a..6f240ae 100644
--- a/packages/providers/DownloadProvider/src/com/android/providers/downloads/DownloadProvider.java
+++ b/packages/providers/DownloadProvider/src/com/android/providers/downloads/DownloadProvider.java
@@ -85,6 +85,9 @@ public final class DownloadProvider extends ContentProvider {
/** Name of table in the database */
private static final String DB_TABLE = "downloads";
+ private static final String[] APK_MIMETYPE = new String[]
+ {"application/vnd.android.package-archive"};
+
/** MIME type for the entire download list */
private static final String DOWNLOAD_LIST_TYPE = "vnd.android.cursor.dir/download";
/** MIME type for an individual download */
@@ -536,6 +539,14 @@ public final class DownloadProvider extends ContentProvider {
throw new IllegalArgumentException("Unknown/Invalid URI " + uri);
}
+ String mimeType = values.getAsString(Downloads.Impl.COLUMN_MIME_TYPE);
+ for (String str: APK_MIMETYPE){
+ if(mimeType.equals(str)){
+ Log.d(Constants.TAG, "do not download apk MIMETYPE "+ str);
+ return null;
+ }
+ }
+
// copy some of the input values as it
ContentValues filteredValues = new ContentValues();
copyString(Downloads.Impl.COLUMN_URI, values, filteredValues);