@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_file_detail); ButterKnife.bind(this); fileOpenTip = (TextView) findViewById(R.id.fileOpenTip); fileLocalTip = (TextView) findViewById(R.id.fileLocalTip); downloadDB = DownloadDB.getInstance(getApplicationContext()); mFile = getIntent().getParcelableExtra("file"); tvTitle.setText(mFile.getCourse()); tvFileName.setText(mFile.getName()); tvFileSize.setText(mFile.getSize()); imgFileIcon.setImageResource(PaperFileUtils.parseImageResource(mFile.getType())); String type = mFile.getType().toLowerCase(); btnDownload.setText(mFile.isDownload() ? "打开文件" : "下载到手机"); fileOpenTip.setVisibility(mFile.isDownload() ? View.VISIBLE : View.INVISIBLE); fileLocalTip.setVisibility(mFile.isDownload() ? View.INVISIBLE : View.VISIBLE); tvDelete.setVisibility(mFile.isDownload() ? View.VISIBLE : View.INVISIBLE); }
private void sendToComputer() { try { // 发送paperurl到我的电脑; Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.setPackage("com.tencent.mobileqq"); intent.putExtra(Intent.EXTRA_SUBJECT, "分享"); intent.putExtra( Intent.EXTRA_TEXT, (mFile.isDownload() ? downloadDB.getFileName(mFile.getUrl()) : mFile.getName()) + ": " + UrlUnicode.encode(mFile.getUrl())); intent.putExtra(Intent.EXTRA_TITLE, "发至电脑"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, "选择\"发送到我的电脑\"")); } catch (Exception e) { Toast.makeText(getApplicationContext(), "你没有安装QQ", Toast.LENGTH_LONG).show(); } }
private void refreshDownloadState() { tvDelete.setVisibility(mFile.isDownload() ? View.VISIBLE : View.INVISIBLE); btnDownload.setText(mFile.isDownload() ? "打开文件" : "下载到手机"); }
private void startDownloadProcess() { if (!mFile.isDownload()) { // 未下载 执行下载进程 setDownloadViewVisiablity(); downloadTask = DownLoader.downloadPaperFile( mFile.getUrl(), SDCardUtils.getDownloadPath() + mFile.getName(), new DownLoader.DownloadTaskCallback() { @Override public void onProgress(final int hasWrite, final int totalExpected) { runOnUiThread( new Runnable() { @Override public void run() { pbProgress.setProgress( (int) ((double) hasWrite / (double) totalExpected * 100)); tvProgress.setText( "下载中...(" + PaperFileUtils.sizeWithDouble(hasWrite / 1024.0) + "" + "/" + mFile.getSize() + ")"); } }); } @Override public void onSuccess(final String successName) { runOnUiThread( new Runnable() { @Override public void run() { setResult(RESULT_OK); LogUtils.d(Tag, "下载完成: " + successName); fileName = successName; mFile.setName(successName); mFile.setDownload(true); downloadDB.addDownloadInfo(mFile); setDownloadViewVisiablity(); downloadTask = null; } }); } @Override public void onFailure(Exception e) { runOnUiThread( new Runnable() { @Override public void run() { ToastUtils.showShort(FileDetailActivity.this, "下载发生错误"); setDownloadViewVisiablity(); } }); } @Override public void onInterruption() { runOnUiThread( new Runnable() { @Override public void run() { pbProgress.setProgress(0); setDownloadViewVisiablity(); } }); } }); downloadTask.start(); } else { // Uri uri = Uri.fromFile(new File(SDCardUtils.getDownloadPath() + // downloadDB.getFileName(mFile.getUrl()))); // Intent intent = new Intent(Intent.ACTION_VIEW); // intent.setData(uri); // startActivity(intent); File file = new File(SDCardUtils.getDownloadPath() + downloadDB.getFileName(mFile.getUrl())); openFile(file); } }