AndroidはsetDataAndType(uri,“type”)でファイルを開きます
4047 ワード
今日のプロジェクトでは、アプリをダウンロードして更新して自動的にインストールする機能に遭遇しました.つまり、ダウンロードしてからこのApkファイルを開くということです.ここでは、intentのsetDataAndTypeメソッドで実装できます.
私の具体的なコード実装フラグメントは次のとおりです.
私の具体的なコード実装フラグメントは次のとおりです.
<pre name="code" class="java">Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(new File(filePath)),"application/vnd.android.package-archive");
startActivity(intent);
filePath是该文件的绝对路径。
uri要换为你要打开的文件绝对路径,类型是”android.net.Uri“ 参考博主:http://blog.csdn.net/weich_java/article/details/7002829
1.打开所有文件类型
2.apkファイルを開くIntent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(uri,"*/*");
3.ビデオファイルを開くIntent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(uri,"application/vnd.android.package-archive");
4.audioファイルを開くIntent intent = new Intent("android.intent.action.VIEW"); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.setDataAndType(uri, "video/*");
Intent intent = new Intent("android.intent.action.VIEW"); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.setDataAndType(uri, "audio/*");
5.HTMLファイルを開く6.イメージファイルを開くUri uri2 = Uri.parse(uri).buildUpon().encodedAuthority("com.android.htmlfileprovider").scheme("content").encodedPath(param ).build(); Intent intent = new Intent("android.intent.action.VIEW"); intent.setDataAndType(uri2, "text/html");
7.PPTファイルを開くIntent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(uri, "image/*");
8.Excelファイルを開くIntent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(uri, "application/vnd.ms-powerpoint");
9.ワードファイルを開くIntent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(uri, "application/vnd.ms-excel");
10.CHMファイルを開くIntent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(uri, "application/msword");
11.テキストファイルを開くIntent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(uri, "application/x-chm");
12.PDFファイルを開くIntent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(uri1, "text/plain");
Intent intent = new Intent("android.intent.action.VIEW"); intent.addCategory("android.intent.category.DEFAULT"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(uri, "application/pdf");
Intentに関する知識はブログに移動してください.http://blog.csdn.net/liuhe688/article/details/7162988