1. 程式人生 > >android用於開啟各種檔案的intent,包括以下檔案PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDE(程式碼待完善)

android用於開啟各種檔案的intent,包括以下檔案PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDE(程式碼待完善)

import android.app.Activity;

import android.content.Intent;

import android.net.Uri;

import android.net.Uri.Builder;

import java.io.File;

import android.content.Intent;



//自定義android Intent類,

//可用於獲取開啟以下檔案的intent

//PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDEO

public class MyIntent

{



 //android獲取一個用於開啟HTML檔案的intent

  public static Intent getHtmlFileIntent( String param )


  {

    Uri uri = Uri.parse(param ).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build();

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.setDataAndType(uri, "text/html");

    return intent;

  }



 //android獲取一個用於開啟圖片檔案的intent

  public static Intent getImageFileIntent( String param )


  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addCategory("android.intent.category.DEFAULT");

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "image/*");

    return intent;

  }



  //android獲取一個用於開啟PDF檔案的intent


  public static Intent getPdfFileIntent( String param )

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addCategory("android.intent.category.DEFAULT");

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "application/pdf");

    return intent;

  }



 //android獲取一個用於開啟文字檔案的intent

  public static Intent getTextFileIntent( String paramString, boolean paramBoolean)

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addCategory("android.intent.category.DEFAULT");

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    if (paramBoolean)

    {

      Uri uri1 = Uri.parse(param );

      intent.setDataAndType(uri1, "text/plain");

    }

    while (true)

    {

      return intent;

      Uri uri2 = Uri.fromFile(new File(param ));

      intent.setDataAndType(uri2, "text/plain");

    }

  }











 //android獲取一個用於開啟音訊檔案的intent

  public static Intent getAudioFileIntent( String param )

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    intent.putExtra("oneshot", 0);

    intent.putExtra("configchange", 0);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "audio/*");

    return intent;

  }







  //android獲取一個用於開啟視訊檔案的intent

  public static Intent getVideoFileIntent( String param )

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    intent.putExtra("oneshot", 0);

    intent.putExtra("configchange", 0);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "video/*");

    return intent;

  }





  //android獲取一個用於開啟CHM檔案的intent

  public static Intent getChmFileIntent( String param )

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addCategory("android.intent.category.DEFAULT");

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "application/x-chm");

    return intent;

  }







 //android獲取一個用於開啟Word檔案的intent

  public static Intent getWordFileIntent( String param )

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addCategory("android.intent.category.DEFAULT");

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "application/msword");

    return intent;

  }



 //android獲取一個用於開啟Excel檔案的intent

  public static Intent getExcelFileIntent( String param )

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addCategory("android.intent.category.DEFAULT");

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "application/vnd.ms-excel");

    return intent;

  }





 //android獲取一個用於開啟PPT檔案的intent

  public static Intent getPptFileIntent( String param )

  {

    Intent intent = new Intent("android.intent.action.VIEW");

    intent.addCategory("android.intent.category.DEFAULT");

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

    Uri uri = Uri.fromFile(new File(param ));

    intent.setDataAndType(uri, "application/vnd.ms-powerpoint");

    return intent;

  }



相關推薦

android用於開啟各種檔案intent,包括以下檔案PDF,PPT,WORD,EXCEL,CHM,HTML,TEXT,AUDIO,VIDE(程式碼完善)

import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.net.Uri.Builder;import java.io.File;impor

android用於開啟各種檔案intent(轉)

import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io

android獲取一個用於開啟各種檔案intent

//android獲取一個用於開啟文字檔案的intent public static Intent getTextFileIntent( String param, boolean paramBoolean) { Intent intent = new Intent

Android開啟raw目錄下的資料庫檔案

在Android中不能直接開啟res /raw目錄中的資料庫檔案(.db) 想要開啟raw下的db檔案需要如下步驟: 1、在程式第一次啟動時將該檔案複製到手機記憶體或SD卡的某個目錄中。     複製的基本方法是使用getResources().openRawResou

linux下複製目錄下所有檔案包括隱藏檔案到指定目錄

linux下複製當前目錄下面檔案到目錄b的話: cp -rf * b 這樣子只能複製非隱藏檔案和目錄。 cp -rf .* b 因為.*包含了.和..,這樣子複製會出問題,當前目錄的上一層目錄都可能被複制過去。 這裡可以藉助ls -A命令,來過濾.和..目錄並且包

製作線上預覽文件,用於OA等系統文件預覽,支援word,excel,ppt

--ppt http://view.officeapps.live.com/op/view.aspx?src=http%3a%2f%2fvideo.ch9.ms%2fbuild%2f2011%2fslides%2fTOOL-532T_Sutter.pptx --excel http://view.office

android開啟各種檔案intent

import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File; import android.con

android獲取一個用於開啟Word檔案intent

               最近在做專案使用webview顯示後,有寫文件需要開啟,找了一些資料,研究了一下,弄出來了!  下面貼一下主要程式碼: param為文件的主要路徑 public static Intent getWordFileIntent(String

android Intent開啟各種型別檔案

import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File;

android 開啟各種檔案 intent.setDataAndType

 Java程式碼 /**   * 開啟檔案   * @param file   */   private void openFile(File file){   Intent intent = new Intent();   intent.addFlags(I

Android--用intent開啟各種檔案

import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.net.Uri.Builder; import java.io.File;

Android開啟各種檔案的MIME TYPE-setDataAndType函式中的Type關聯

MIME:全稱Multipurpose Internet Mail Extensions,多功能Internet 郵件擴充服務。它是一種多用途網際郵件擴充協議,在1992年最早應用於電子郵件系統,但後來也應用到瀏覽器。MIME型別就是設定某種副檔名的檔案用一種應用程式來開啟的方式型別,當該副檔名檔案被訪問

Android開啟各種型別的檔案方法總結

很簡單,通過呼叫系統的intent,我們可以開啟各種檔案,不熟悉的朋友可以瞭解下action、datatype、uri的相關知識。 通用方法如下: public static Intent openFile(String filePath){ File fil

android intent開啟各種格式文件方法

我們開發的時候經常碰到開啟各種文件,目前的應用處理方式 基本都是依賴於三方軟體開啟 ,而不是在應用內開啟,因為檔案格式有很多,倘若都在應用內開啟的話,肯定要增加很大的開發時間和開發成本,而且實現效果沒有一些三方的app實現的效果好。 話不多說,貼上程式碼 工具類 impo

intent開啟各種檔案 開啟sd卡路徑 開啟系統目錄...

在其他類中呼叫MyIntent類中的方法,例如: Intent it = MyIntent .getHtmlFileIntent("/sdcard/tutorial.html");//對應你的檔名 startActivity( it ); //可用於獲取開

Notification的使用以及Intent開啟各種檔案

一:Notification的使用 使用步驟: 流程模組: 第一步: 建立一個通知欄的Builder構造類 (Create a Notification Builder) 第二步: 定義通知欄的Action (Define the N

Intent開啟各種檔案

1.Android開啟系統播放器:Uri uri = Uri.parse(url);// Uri uri = Uri.parse("rtsp://10.103.131.23:554/28960004/j04.mp4");

android何如在程式碼開啟各種許可權

android何如在程式碼中開啟各種許可權 大家也許都遇到過這樣的一個問題 ,就是我在AndroidManifest.xml檔案中已經聲明瞭一些許可權,比如說 麥克風、相機等等,但是在真機執行時,明明聲明瞭許可權卻還需要到設定裡在開一次,這是因為在android 6.0以上,androi

Android 開啟PDF,PPT等型別的檔案方式

            sMimeTypeMap.loadEntry("application/andrew-inset", "ez");             sMimeTypeMap.loadEntry("application/dsptype", "tsp");             sMimeTy

Android用ClipDrawable自定義各種進度條(包括豎直和水平)

這裡兩年前在eoe寫的一個帖子,這次也搬過來統一管理: ============== 以前我自定義的進度條是從android的原始碼中扒出來的一個XML,然後把裡面的圖片給替換了。一直不知道它的具體原