之前已經接觸過intent,現在來深入學習intent的一些東西
intent可以用來啟動乙個activity,乙個service,還可以用來發起乙個廣播(broadcast)
啟動方法如下:
元件名稱 方法名稱
activity startactivity() ; startactivityforresult()
service startservice ; bindservice()
broadcast sendbroadcast() ; sendorderedbroadcast() ; sendstickybroadcast()
intent由一下幾個部分組成:動作(action)、資料(data)、分類(category)、型別(type)、元件(component)、擴充套件資訊(extra)
intent尋找目標元件時有兩種方法:1.通過元件名稱直接制定 2.通過intent filter過濾指定
intent的通過intent filter過濾指定
在androidmanifest.xml中新增指定活動,服務,廣播等後,找到相應的xml位置,加入宣告action的xml語句即可實現,例如:
呼叫的語句如下:
private static final string my_action = "com.example.subservice.my_action"; //這裡的字串要和上面xml中的android:name**的字串對應
intent intent = new intent();
intent.setaction(my_action); //設定action為我們自定義的action
startservice(intent);
intent的componentname屬性
intent的元件名稱物件由componentname類來封裝,組建名稱包含包名稱和類名稱,被宣告在androidmanifest.xml檔案中
元件名稱通過setcomponent()、setclass()、setclassname()設定,通過getcomponent()獲得
conponentname cn = new componentname(mainactivity.this,"com.example.myactivity"); //例項化元件名稱
intent intent = new intent(); //例項化intent
intent.setcomponent(cn); //為intent設定元件名稱屬性
startactivity(intent); //啟動activity
intent的action屬性
action是指intent要完成的動作,是乙個字串常量。
intent類中定義了大量action常量屬性,例如action_call(打**)
我們也可以自己定義action來使用
通過setaction來設定intentaction屬性,通過getaction來獲取intent的action屬性
下面列出標準的activity action常量:
常量名稱 常量值 意義
action_main android.intent.action.main 應用程式的入口
action_view android.intent.action.view 顯示資料給使用者
action_attach_data android.intent.action.attach_data 指明附加給其他地方的一些資料
action_edit android.intent.action.edit 顯示可編輯的資料
action_pick android.intent.action.pick 選擇資料
action_chooser android.intent.action.chooser 顯示乙個activity選擇器
action_get_content android.intent.action.get_content 獲得內容
action_dial android.intent.action.dial 顯示打**面板
action_call android.intent.action.call 直接打**
action_send android.intent.action.send 直接傳送資訊
action_sendto android.intent.action.sendto 選擇發資訊
action_answer android.intent.action.answer 應答**
action_insert android.intent.action.insert 插入資料
action_delete android.intent.action.delete 刪除資料
action_run android.intent.action.run 執行資料
action_sync android.intent.action.sync 同步資料
action_pick_activity android.intent.action.pick_activity 選擇activity
action_search android.intent.action.search 搜尋
action_wen_search android.intent.action.web_search web搜尋
action_factory_test android.intent.action.factory_test 工廠測試入口點
intent的data屬性
intent的data屬性是執行動作的uri和mime型別,不同的action有不同的data資料指定
一些常見的action和data的匹配應用如下:
action屬性 data屬性 說明
action_view content://contacts/people/1 顯示_id為1的聯絡人資訊
action_dial content://contacts/people/1 將_id為1的聯絡人**號碼顯示在撥號介面中
action_view tel:123 顯示**為123的聯絡人資訊
action_view 在瀏覽器中瀏覽該**
action_view geo:39.3256,116.2312 顯示地圖
public void onclick(view v)
intent的category屬性
intent中的category屬性是乙個執行action的附加資訊。
例如,category_launcher意味著引導程式時,activity出現在最上面。還有category_home則表示回到home介面
intent intent = new intent();
intent.setaction(intent.action_main);
intent.addcategory(intent.category_home); //新增category屬性使得返回home介面
startactivity(intent);
intent的extra屬性
intent的extras屬性是新增一些元件的附加資訊
intent intent = new intent();
intent.setclass(mainactivity.this,otheractivity.class);
intent.putextra("name","this is a test");
startactivity(intent);
Android開發筆記之Android St
先說下經過。首先是安卓studio還能正常工作的時候,右上角提示更新。手抖點了一波。然後發現layout檢視出現了問題。之後查了幾個方法,沒有解決這個問題。因為我原來用的是23.1等的23開頭系列版本。於是就把帶24的更新全部 刪除了。於是就出現了 unable to obtain debug br...
Android 開發筆記
版本控制的注意事項 以下資料夾不要加入版本控制 bin bin是編譯的二進位制檔案的存放路徑 gen gen是android需要的資源檔案的原始檔存放的目錄 使用svn的時候要注意專案編譯的問題 在編譯的時候程式會把src資料夾裡面的檔案拷貝到bin裡面,但是svn是每個資料夾裡面都包含乙個隱藏的....
Android開發筆記
1.unable to resolve target android 4 fishjoy final未知android target problem 修改default properties 或者重啟 2.別人的開發筆記 3.真機除錯的時候,一定要下google的usb driver.或者省時省力,...