1. 程式人生 > >將程式關聯成Android系統預設開啟程式

將程式關聯成Android系統預設開啟程式

比如通過文件檢視器開啟一個文字檔案時,會彈出一個可用來開啟的軟體列表;
如何讓自己的軟體也出現在該列表中呢? 通過設定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()"返回的就是所點選的檔案路徑。