android開發教程:android調用activity簡單方法

 在沒看麥子學院的教學視頻以前,以爲在一個apk中調用另一個apk中的activity是件很是麻煩的事情,有時候很懼怕碰見這類問題,可是看了android開發教程視頻以後,以爲這原本是一件很簡單的事情,因此寫篇小文章供參考。android

 

    系統提供了不少能夠直接調用的Activity,經過指定的Intent就能夠調用,好比打開搜索的:web

 

Java代碼  orm

1. Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);  視頻

2. intent.putExtra(SearchManager.QUERY,"searchString")  xml

3. startActivity(intent);  教程

 

    Intent.ACTION_WEB_SEARCH是一個字符串,是「搜索」這個Activity的標識,extra是傳給這個activity的一些數據。發送出這個intent以後,系統根據action字符串Intent.ACTION_WEB_SEARCH知道了是要調用哪一個activity,若是有重名,會彈出一個選擇對話框。而後打開此activity,實現想要作的事情。開發

 

    那麼,咱們本身怎麼來實現呢。
    首先,寫一個activity,在AndroidManifest.xml裏面的intent-filter中,給這個activity命名,字符串

 

Xml代碼  get

1. <intent-filter>  it

2.         <action android:name="chroya.foo"/>  

3.         <category android:name="android.intent.category.DEFAULT"/>  

4. </intent-filter>  

 

    而後安裝。安裝完畢以後,你會發現,系統中找不到這個程序。別急,它確實安裝在手機裏面了,可是由於他不是main的,因此係統不會把他當作Application的入口程序。

 

    而要想打開這個activity,只有知道它名字的人才能夠。跟系統的intent同樣使用。它的名字定義爲"chroya.foo",因此,這裏用這個字符串就能夠調用它了:

 

Java代碼  

1. Intent intent = new Intent("chroya.foo");  

2. startActivity(intent);  

 

    我用剛纔舉的那個系統的intent說明,它的activity裏面使用getIntent().getBundleExtra(SearchManager.QUERY)來接收傳遞進來的搜索字符串參數。而這個SearchManager.QUERY是關鍵字。若是要本身實現這種功能,只須要定義好關鍵字,而後從BundleExtra中取就好了。

有想進行android開發交流的朋友能夠加入:362057824。

相關文章
相關標籤/搜索