小智 0

使用插件cordova-file-Transfer并进行以下更改:

\n\n

对于 android 平台,您可以通过这种方式更改插件。

\n\n

FileProgressBarTask使用以下代码创建类:

\n\n
package org.apache.cordova.filetransfer;\n\nimport android.app.NotificationManager;\nimport android.os.AsyncTask;\nimport android.support.v4.app.NotificationCompat;\nimport android.util.Log;\n\nclass FileProgressBarTask extends AsyncTask<Void, Integer, Integer> {\n\n    private NotificationCompat.Builder mBuilder;\n    private NotificationManager mNotificationManager;\n    int id = 0;\n    int progress = 0;\n\n    FileProgressBarTask(NotificationCompat.Builder mBuilder, NotificationManager mNotificationManager, int id){\n\n        Log.d("TAG", "Progress Bar");\n\n        this.mBuilder = mBuilder;\n        this.mNotificationManager = mNotificationManager;\n        this.id = id;\n\n        super.execute();\n    }\n\n    @Override\n    protected void onPreExecute(){\n        super.onPreExecute();\n\n        mBuilder.setProgress(150, 0, false);\n        mNotificationManager.notify(id, mBuilder.build());\n    }\n\n    @Override\n    protected void onProgressUpdate(Integer... values){\n        mBuilder.setProgress(150, values[0], false);\n        mNotificationManager.notify(id, mBuilder.build());\n        super.onProgressUpdate(values);\n    }\n\n    @Override\n    protected Integer doInBackground(Void... params) {\n        return null;\n    }\n\n    @Override\n    protected void onPostExecute(Integer result){\n        super.onPostExecute(result);\n        mBuilder.setContentText("Download Conclu\xc3\xaddo");\n\n        mBuilder.setProgress(0, 0, false);\n        mNotificationManager.notify(id, mBuilder.build());\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

FileTransfer使用以下代码更改类:

\n\n
import android.content.res.Resources;\nimport android.content.Context;\nimport android.app.NotificationManager;\nimport android.support.v4.app.NotificationCompat;\nimport android.support.v4.app.NotificationCompat.Builder;\n
Run Code Online (Sandbox Code Playgroud)\n\n

在类方法下载中上线~700 FileTransfer:

\n\n
Context contextApplication = cordova.getActivity().getApplicationContext();\nResources resources = contextApplication.getResources();\nString pkgName = contextApplication.getPackageName();\n\nint resId = resources.getIdentifier("ic_action_download", "drawable", pkgName);\n\nmNotificationManager = (NotificationManager) cordova.getActivity().getSystemService(Context.NOTIFICATION_SERVICE);\nmBuilder = new NotificationCompat.Builder(cordova.getActivity());\nmBuilder.setContentTitle("Download File")\n        .setContentText("Progress")\n        .setSmallIcon(resId);\n\nfinal FileProgressBarTask progressBarTask = new FileProgressBarTask(mBuilder, mNotificationManager, id);\n
Run Code Online (Sandbox Code Playgroud)\n\n

在方法下载上找到包含以下内容的块代码:while并progress.setLoaded(inputStream.getTotalRawBytesRead());在方法下载上插入以下代码:

\n\n
long lng = Math.abs((progress.getLoaded() / 100) / 100);\nprogressBarTask.onProgressUpdate(Integer.parseInt(String.valueOf(lng)));\n
Run Code Online (Sandbox Code Playgroud)\n\n

基于:

\n\n\n