package com.konka.music.util; import java.io.File; import java.text.SimpleDateFormat; import java.util.Locale; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; import android.support.v4.app.ShareCompat; import com.konka.music.core.providers.DownloadManager; import com.konka.music.musicexception.DownLoadException; import com.konka.music.pojo.MusicInfo; public class Util { public static void exit() { android.os.Process.killProcess(android.os.Process.myPid()); } public static long downLoadMusic(Context mContext, MusicInfo musicInfo) { try { MusicInfoUtil.checkMusicInfoDownload(musicInfo); DownloadManager manager = new DownloadManager(mContext.getContentResolver(), mContext.getPackageName()); String url = musicInfo.getData(); Uri srcUri = Uri.parse(url); DownloadManager.Request request = new DownloadManager.Request(srcUri); // File file = new File(Environment.getExternalStorageDirectory(), "konka/music"); File file = new File(FileUtils.createDirs("/konka/music/")); if (!file.exists()) { file.mkdirs(); } SimpleDateFormat sdf = new SimpleDateFormat("", Locale.SIMPLIFIED_CHINESE); sdf.applyPattern("-MM_dd_HH_mm_ss"); String downloadtime = sdf.format(System.currentTimeMillis()); request.setDestinationInExternalFilesDir(mContext, "konka/music", musicInfo.getTitle() + downloadtime + ".mp3"); request.setDescription("下载");// allowednetworktypes request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE | DownloadManager.Request.NETWORK_WIFI); request.setShowRunningNotification(false); request.setTitle(musicInfo.getDisplayName()); request.setDescription(musicInfo.getDisplayName()); long download_id = manager.enqueue(request); musicInfo.setDownload_id(download_id); MusicInfoUtil.setMusicInfoToDownload(musicInfo); ToastUtil.showToast(mContext, "已添加到下载队列"); return download_id; }catch (DownLoadException e) { ToastUtil.showToast(mContext, "下载队列中已经存在,不用重复下载"); } catch (Exception e) { e.printStackTrace(); } return -1; } public static final String ACTION_MEDIA_SCANNER_SCAN_DIR = "android.intent.action.MEDIA_SCANNER_SCAN_DIR"; public void scanDirAsync(Context ctx, String dir) { Intent scanIntent = new Intent(ACTION_MEDIA_SCANNER_SCAN_DIR); scanIntent.setData(Uri.fromFile(new File(dir))); ctx.sendBroadcast(scanIntent); } public static void onShareTextClick(Activity activity, String text) { ShareCompat.IntentBuilder.from(activity).setType("text/plain").setText(text).startChooser(); } public static boolean checkFileExists(String filepath) { if (filepath != null) { if (filepath.startsWith("file://")) { filepath = filepath.replace("file://", ""); } File file = new File(filepath); return file.exists(); } return false; } public static boolean checkIntent(Context context) { ConnectivityManager con = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkinfo = con.getActiveNetworkInfo(); if (networkinfo == null || !networkinfo.isAvailable()) { ToastUtil.showToast(context, "请先连接网络!"); return false; } boolean wifi = con.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting(); if (!wifi) { ToastUtil.showToast(context, "建议您使用WIFI以减少流量!"); } return true; } }