android intent 5.1
生活随笔
收集整理的這篇文章主要介紹了
android intent 5.1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.intent 6 items
action, data(uri &type),Component name,Extras,flags
2.data---uri & type
不管使用什么參數,action,type或者其他,關鍵問題就是。
所有的new activity啟動,最終都需要Component name.
所以,intent可以分析得到Component name,就可以使用。
private void sendBroadcast(long eventId, long begin, long end, String title){Uri.Builder builder = CalendarContract.CONTENT_URI.buildUpon();builder.appendEncodedPath("events/" + eventId);Uri uri = builder.build();Intent i = new Intent(EVENT_DETAIL_ACTION);i.putExtra(EXTRA_EVENT_BEGIN_TIME, begin);i.putExtra(EXTRA_EVENT_END_TIME, end);i.putExtra(TITLE, title); // i.setDataAndType(uri, EXTRA_TYPE); i.setData(uri);if (i.resolveActivity(getPackageManager()) != null) {startActivity(i);}}關于傳遞data的問題。一般情況下,uri和type只需要一個。
關鍵是,我們每個activtiy最好是指定處理的類型,當我們需要做隱示intent傳遞的時候。
<activity android:name=".agenda.AgendaDetailActivity" ><intent-filter><action android:name="com.xui.calendar.agenda_detail"></action><category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/event"/></intent-filter><intent-filter><action android:name="android.intent.action.VIEW"/><category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/event"/></intent-filter></activity>但是我們可能只想傳奇Uri給activtiy使用,這個時候,使用content類型的uri可以保證具有唯一性。
因為每個uri對應數據庫,而數據庫是有類型的。content_item_type.
?進而ams可以通過數據庫的類型進行匹配。
所以可以只傳遞uri的情況。
如果想同時傳遞uri & type。setdataandtype。
?
轉載于:https://www.cnblogs.com/deman/p/4465323.html
總結
以上是生活随笔為你收集整理的android intent 5.1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 与QT的连接
- 下一篇: 【转】HashSet的用法