Android 文件打开方式用setDataAndType方式

  • Post author:
  • Post category:其他


具体代码实现片段是:



  1. <pre name=


    “code”




    class


    =


    “java”


    >Intent intent =


    new


    Intent(Intent.ACTION_VIEW);


  2. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  3. intent.setDataAndType(Uri.fromFile(

    new


    File(filePath)),


    “application/vnd.android.package-archive”


    );


  4. startActivity(intent);


filePath是该文件的绝对路径。

uri要换为你要打开的文件绝对路径,类型是”

Android

.net.Uri“ 参考博主:

http://blog.csdn.net/weich_java/article/details/7002829

1.打开所有文件类型



  1. Intent intent =


    new


    Intent();


  2. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  3. intent.setAction(android.content.Intent.ACTION_VIEW);

  4. intent.setDataAndType(uri,

    “*/*”


    );


2.打开apk文件



  1. Intent intent =


    new


    Intent();


  2. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  3. intent.setAction(android.content.Intent.ACTION_VIEW);

  4. intent.setDataAndType(uri,

    “application/vnd.android.package-archive”


    );


3.打开Video文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

  3. intent.setDataAndType(uri,

    “video/*”


    );


4.打开audio文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

  3. intent.setDataAndType(uri,

    “audio/*”


    );




5.打开HTML文件



  1. Uri uri2 = Uri.parse(uri).buildUpon().encodedAuthority(


    “com.android.htmlfileprovider”


    ).scheme(


    “content”


    ).encodedPath(param ).build();


  2. Intent intent =

    new


    Intent(


    “android.intent.action.VIEW”


    );


  3. intent.setDataAndType(uri2,

    “text/html”


    );


6.打开Image文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addCategory(

    “android.intent.category.DEFAULT”


    );


  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  4. intent.setDataAndType(uri,

    “image/*”


    );


7.打开PPT文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addCategory(

    “android.intent.category.DEFAULT”


    );


  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  4. intent.setDataAndType(uri,

    “application/vnd.ms-powerpoint”


    );


8.打开Excel文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addCategory(

    “android.intent.category.DEFAULT”


    );


  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  4. intent.setDataAndType(uri,

    “application/vnd.ms-excel”


    );


9.打开word文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addCategory(

    “android.intent.category.DEFAULT”


    );


  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(uri,

    “application/msword”


    );


10.打开CHM文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addCategory(

    “android.intent.category.DEFAULT”


    );


  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(uri,

    “application/x-chm”


    );


11.打开文本文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addCategory(

    “android.intent.category.DEFAULT”


    );


  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  4. intent.setDataAndType(uri1,

    “text/plain”


    );


12.打开PDF文件



  1. Intent intent =


    new


    Intent(


    “android.intent.action.VIEW”


    );


  2. intent.addCategory(

    “android.intent.category.DEFAULT”


    );


  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  4. intent.setDataAndType(uri,

    “application/pdf”


    );