1. 程式人生 > >android用於開啟各種檔案的intent(轉)

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.content.Intent;

//自定義android Intent類,

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

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

示例:

//這個不行,可能是因為PDF.apk程式沒有許可權訪問其它APK裡的asset資原始檔,又或者是路徑寫錯?

 //Intent it = getPdfFileIntent("file:///android_asset/helphelp.pdf");

 //下面這些都OK

 //Intent it = getHtmlFileIntent("/mnt/sdcard/tutorial.html");//SD卡主目錄

//Intent it = getHtmlFileIntent("/sdcard/tutorial.html");//SD卡主目錄,這樣也可以

 Intent it = getHtmlFileIntent("/system/etc/tutorial.html");//系統內部的etc目錄

 //Intent it = getPdfFileIntent("/system/etc/helphelp.pdf");

 //Intent it = getWordFileIntent("/system/etc/help.doc");

 //Intent it = getExcelFileIntent("/mnt/sdcard/Book1.xls")

 //Intent it = getPptFileIntent("/mnt/sdcard/download/Android_PPT.ppt");//SD卡的download目錄下

 //Intent it = getVideoFileIntent("/mnt/sdcard/ice.avi");

 //Intent it = getAudioFileIntent("/mnt/sdcard/ren.mp3");

 //Intent it = getImageFileIntent("/mnt/sdcard/images/001041580.jpg");

 //Intent it = getTextFileIntent("/mnt/sdcard/hello.txt",false);

 startActivity( it );

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 param, 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");

  }

  else

  {

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

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

  }

  return intent;

 }

//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;

  }

}


轉自:http://blog.csdn.net/wutianyin222/article/details/8735340

相關推薦

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

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

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

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

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; 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開啟各種檔案的MIME TYPE-setDataAndType函式中的Type關聯

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

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 Intent開啟各種型別檔案

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

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

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

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

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

Android studio 或java開啟txt檔案

剛剛學習碎片知識,顯示的內容如果是txt該如何做呢?這就需要開啟檔案了,話不多說,上程式碼。  我的檔案在: a為標題檔案,a0為每個標題的內容檔案 結果如下圖: 我的a和a0txt 由於新聞標題較多,新聞內容較多,就考慮用txt來裝

Android培訓班 66 dex檔案開啟流程

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android 版本更新之開啟apk檔案的前生今世

現在APP都少不了的一個功能就是版本更新,檢測到有新版,從伺服器下載下來APK,然後安裝,今天就來聊一聊它。 原始碼地址:github [Android6.0之前] 首先是許可權 <uses-permission android:name="android.

Android專案需要使用的各種檔案

任何一個新建的專案都會預設使用Android模式的專案結構,但這並不是專案真實的目錄結構,而是被Android Studio轉換過的這個模式結構比較簡潔明瞭,適合進行快速開發,將其切換為Project模式就是專案的真實結構了。 一.首先就是.grad

使用matlab生成用於ROM初始化的coe檔案

reference:https://www.cnblogs.com/chensimin1990/p/9759368.html t=0:2*pi/2^12:2*pi; y=0.5*sin(t)+0.5; r=ceil(y*(2^8-1));%開啟或者建立sin.coe檔案 fid = fopen('si

各種檔案用JSBase64之後的data型別

1.txt       data:text/plain;base64, 2.doc     data:application/msword;base64, 3.docx   data:application/vnd.