通過用手機的浏覽器(内置,第三方都可)通路一個網頁,實作點選一個連結啟動自己的應用,并傳遞資料。
首先在mainifest檔案裡面對要啟動的activity添加一個過濾器。
<code>1</code>
<code><</code><code>activity</code>
<code>2</code>
<code> </code><code>android:name</code><code>=</code><code>"com.example.helloworld.mainactivity"</code>
<code>3</code>
<code> </code><code>android:label</code><code>=</code><code>"@string/app_name"</code> <code>></code>
<code>4</code>
<code> </code><code><</code><code>intent-filter</code><code>></code>
<code>5</code>
<code> </code><code><</code><code>action</code> <code>android:name</code><code>=</code><code>"android.intent.action.main"</code> <code>/></code>
<code>6</code>
<code>7</code>
<code> </code><code><</code><code>category</code> <code>android:name</code><code>=</code><code>"android.intent.category.launcher"</code> <code>/></code>
<code>8</code>
<code> </code><code></</code><code>intent-filter</code><code>></code>
<code>9</code>
<code>10</code>
<code> </code><code><</code><code>action</code> <code>android:name</code><code>=</code><code>"android.intent.action.view"</code><code>/> </code>
<code>11</code>
<code> </code><code><</code><code>category</code><code>android:name</code><code>=</code><code>"android.intent.category.default"</code><code>/> </code>
<code>12</code>
<code> </code><code><</code><code>category</code> <code>android:name</code><code>=</code><code>"android.intent.category.browsable"</code><code>/></code>
<code>13</code>
<code> </code><code><</code><code>data</code> <code>android:scheme</code><code>=</code><code>"znn"</code><code>/></code>
<code>14</code>
<code>15</code>
<code> </code><code></</code><code>activity</code><code>></code>
在mainactivity接收資料:
<code>public</code> <code>class</code> <code>mainactivity </code><code>extends</code> <code>activity </code><code>implements</code> <code>view.onclicklistener{</code>
<code> </code><code>@override</code>
<code> </code><code>protected</code> <code>void</code> <code>oncreate(bundle savedinstancestate) {</code>
<code> </code><code>super</code><code>.oncreate(savedinstancestate);</code>
<code> </code><code>setcontentview(r.layout.activity_main);</code>
<code> </code><code>intent intent = getintent();</code>
<code> </code><code>string scheme = intent.getscheme();</code>
<code> </code><code>uri uri = intent.getdata();</code>
<code> </code><code>system.out.println(</code><code>"scheme:"</code><code>+scheme);</code>
<code> </code><code>if</code> <code>(uri != </code><code>null</code><code>) {</code>
<code> </code><code>string host = uri.gethost();</code>
<code> </code><code>string datastring = intent.getdatastring();</code>
<code> </code><code>string id = uri.getqueryparameter(</code><code>"id"</code><code>);</code>
<code>16</code>
<code> </code><code>string path = uri.getpath();</code>
<code>17</code>
<code> </code><code>string path1 = uri.getencodedpath();</code>
<code>18</code>
<code> </code><code>string querystring = uri.getquery();</code>
<code>19</code>
<code> </code><code>system.out.println(</code><code>"host:"</code><code>+host);</code>
<code>20</code>
<code> </code><code>system.out.println(</code><code>"datastring:"</code><code>+datastring);</code>
<code>21</code>
<code> </code><code>system.out.println(</code><code>"id:"</code><code>+id);</code>
<code>22</code>
<code> </code><code>system.out.println(</code><code>"path:"</code><code>+path);</code>
<code>23</code>
<code> </code><code>system.out.println(</code><code>"path1:"</code><code>+path1);</code>
<code>24</code>
<code> </code><code>system.out.println(</code><code>"querystring:"</code><code>+querystring);</code>
<code>25</code>
<code> </code><code>}</code>
<code>26</code>
<code> </code>
<code>27</code>
<code> </code><code>}</code>
<code>28</code>
<code>}</code>
寫一個最簡單的網頁:
<a href=”znn://aa.bb:80/test?p=12&d=1″>test</a>
測試位址:www.erdian.net/m.html
測試結果:
scheme:znn
host:aa.bb
datastring:znn://aa.bb:80/test?p=12&id=1
id:1
path:/test
path1:/test
querystring:p=12&d=1