將程式關聯成Android系統預設開啟程式
阿新 • • 發佈:2019-01-04
比如通過文件檢視器開啟一個文字檔案時,會彈出一個可用來開啟的軟體列表;
如何讓自己的軟體也出現在該列表中呢? 通過設定AndroidManifest.xml檔案即可:
<activity android:name=".EasyNote" android:label="@string/app_name"
android:launchMode="singleTask" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<data android:mimeType="text/plain"></data>
</intent-filter>
</activity>
第一個<intent-filter>標籤是每個程式都有的,關鍵是要新增第二個!這樣你的應用程式就會出現在預設開啟列表了。。。
注意需要將mimeType修改成你需要的型別,文字檔案當然就是:text/plain
還有其它常用的如:
- text/plain(純文字)
- text/html(HTML文件)
- application/xhtml+xml(XHTML文件)
- image/gif(GIF影象)
- image/jpeg(JPEG影象)【PHP中為:image/pjpeg】
- image/png(PNG影象)【PHP中為:image/x-png】
- video/mpeg(MPEG動畫)
- application/octet-stream(任意的二進位制資料)
- application/pdf(PDF文件)
- application/msword(Microsoft Word檔案)
- message/rfc822(RFC 822形式)
- multipart/alternative(HTML郵件的HTML形式和純文字形式,相同內容使用不同形式表示)
- application/x-www-form-urlencoded(使用HTTP的POST方法提交的表單)
- multipart/form-data(同上,但主要用於表單提交時伴隨檔案上傳的場合)
Intent intent = getIntent();String action = intent.getAction();if(intent.ACTION_VIEW.equals(action)){
TextView tv = (TextView)findViewById(R.id.tvText);
tv.setText(intent.getDataString());}
intent.getDataString()"返回的就是所點選的檔案路徑。