gin*_*fo1 5 localnotification cordova progress-bar
我使用这个伟大的插件https://github.com/katzer/cordova-plugin-local-notifications在下载文件时实现本地通知.我没有找到如何显示在通知进度条像在本地一个http://javatechig.com/wp-content/uploads/2014/05/Displaying-Progress-Notification-in-Android-Example.png 能你帮忙?
小智 0
使用插件cordova-file-Transfer并进行以下更改:
\n\n对于 android 平台,您可以通过这种方式更改插件。
\n\nFileProgressBarTask使用以下代码创建类:
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}\nRun Code Online (Sandbox Code Playgroud)\n\nFileTransfer使用以下代码更改类:
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;\nRun Code Online (Sandbox Code Playgroud)\n\n在类方法下载中上线~700 FileTransfer:
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);\nRun Code Online (Sandbox Code Playgroud)\n\n在方法下载上找到包含以下内容的块代码:while并progress.setLoaded(inputStream.getTotalRawBytesRead());在方法下载上插入以下代码:
long lng = Math.abs((progress.getLoaded() / 100) / 100);\nprogressBarTask.onProgressUpdate(Integer.parseInt(String.valueOf(lng)));\nRun Code Online (Sandbox Code Playgroud)\n\n基于:
\n\n\n| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |