androidintent文件
❶ 大學期末復習 android 中 intent組件的屬性有哪些
Intent主要有以下四個重要屬性,它們分別為:
Action:Action屬性的值為一個字元串,它代表了系統中已經定義了一系列常用的動作。通過setAction()方法或在清單文件AndroidManifest.xml中設置。默認為:DEFAULT。
Data:Data通常是URI格式定義的操作數據。例如:tel:// 。通過setData()方法設置。
Category:Category屬性用於指定當前動作(Action)被執行的環境。通過addCategory()方法或在清單文件AndroidManifest.xml中設置。默認為:CATEGORY_DEFAULT。
Extras:Extras屬性主要用於傳遞目標組件所需要的額外的數據。通過putExtras()方法設置。
四個屬性各自的常用值如下所示:
Action:
ACTION_MAIN:Android Application的入口,每個Android應用必須且只能包含一個此類型的Action聲明。
ACTION_VIEW:系統根據不同的Data類型,通過已注冊的對應Application顯示數據。
ACTI ON_EDIT:系統根據不同的Data類型,通過已注冊的對應Application編輯示數據。
ACTION_DIAL:打開系統默認的撥號程序,如果Data中設置了電話號碼,則自動在撥號程序中輸入此號碼。
ACTION_CALL:直接呼叫Data中所帶的號碼。
ACTION_ANSWER:接聽來電。
ACTION_SEND:由用戶指定發送方式進行數據發送操作。
ACTION_SENDTO:系統根據不同的Data類型,通過已注冊的對應Application進行數據發送操作。
ACTION_BOOT_COMPLETED:Android系統在啟動完畢後發出帶有此Action的廣播(Broadcast)。
ACTION_TIME_CHANGED:Android系統的時間發生改變後發出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_ADDED:Android系統安裝了新的Application之後發出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_CHANGED:Android系統中已存在的Application發生改變之後(如應用更新操作)發出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_REMOVED:卸載了Android系統已存在的Application之後發出帶有此Action的廣播(Broadcast)。
Category:
CATEGORY_DEFAULT:Android系統中默認的執行方式,按照普通Activity的執行方式執行。
CATEGORY_HOME:設置該組件為Home Activity。
CATEGORY_PREFERENCE:設置該組件為Preference。
CATEGORY_LAUNCHER:設置該組件為在當前應用程序啟動器中優先順序最高的Activity,通常為入口ACTION_MAIN配合使用。
CATEGORY_BROWSABLE:設置該組件可以使用瀏覽器啟動。
CATEGORY_GADGET:設置該組件可以內嵌到另外的Activity中。
Extras:
EXTRA_BCC:存放郵件密送人地址的字元串數組。
EXTRA_CC:存放郵件抄送人地址的字元串數組。
EXTRA_EMAIL:存放郵件地址的字元串數組。
EXTRA_SUBJECT:存放郵件主題字元串。
EXTRA_TEXT:存放郵件內容。
EXTRA_KEY_EVENT:以KeyEvent對象方式存放觸發Intent的按鍵。
EXTRA_PHONE_NUMBER:存放調用ACTION_CALL時的電話號碼。
Data:
tel://:號碼數據格式,後跟電話號碼。
mailto://:郵件數據格式,後跟郵件收件人地址。
smsto://:短息數據格式,後跟簡訊接收號碼。
content://:內容數據格式,後跟需要讀取的內容。
file://:文件數據格式,後跟文件路徑。
market://search?q=pname:pkgname:市場數據格式,在Google Market里搜索包名為pkgname的應用。
geo://latitude, longitude:經緯數據格式,在地圖上顯示經緯度所指定的位置。
❷ android中intent什麼意思
英文里 Intent是「意向、打算」的意思,其實就是告訴別人你的意圖的意思了,這么理解Android裡面的Intent也就不難了。
書面化的解釋是:
Android中提供了Intent機制來協助應用間的交互與通訊,Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用。Intent不僅可用於應用程序之間,也可用於應用程序內部的Activity/Service之間的交互。因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調用的相關信息,實現調用者與被調用者之間的解耦。
❸ Android如何觸發intent打開指定目錄
Android觸發intent打開指定目錄的步驟:
1、android系統內置了很多應用,包括電話撥號,簡訊,瀏覽器等,這里創建一個簡單的Android程序,調用內置的瀏覽器打開指定的地址。
2、對應的layout xml為:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/btnGo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="46dp"
android:text="@string/btnTitle_go" />
<EditText
android:id="@+id/txtUri"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btnGo"
android:layout_alignBottom="@+id/btnGo"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/btnGo"
android:ems="10"
android:text="http://junqilian.cnblogs.com" >
<requestFocus />
</EditText>
</RelativeLayout>
3、java代碼實現如下,主要是給EditText添加一個OnKeyListener,處理在editText裡面按回車鍵,給button添加一個onClickListener,觸發到OpenBroswer函數,通過intent打開內置的瀏覽器。
❹ android Intent啟動其它應用
可以帶別的東西。
需要com.rarlab.rar.MainActivity類的支持。
com.rarlab.rar.MainActivity可以在onCreate中通過getIntent來得到
傳入來的intent.
intent可以設置一些數據,比如Intent.putExtra("type","rar")
然後onCreate得到後,可以Intent.getStringExtra("type")
❺ android 如何使用Intent跳轉到文件管理器指定目錄。不要再復制
intent
intent
=
new
intent();
intent.setaction("action");//這個地方action換成你要跳轉到的文件管理器的action
intent.addcategory("category");//這個地方category換成你要跳轉到的文件管理器的category
startactivity(intent);
android跳轉到另一個應用都是一樣的,只是設置的action與category跟據跳轉的應用不同有所不同。
❻ android怎麼用intent跳轉到文件管理器
Intent mIntent = new Intent( );
ComponentName comp = new ComponentName("com.mediatek.filemanager", "com.mediatek.filemanager.FileManagerOperationActivity");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
startActivity(mIntent);
可能需要設置mIntent.flag 為new_task,你試試吧
❼ android中Intent問題
Android 開發網站上解釋了一下,如果你想允許其它的app通過 intent-filter 命中你的 app 啟動它,我們需要給我們的 app 添加 default category,一般來說沒有 default category 是表示這個 activity 肯定只是我們 app 自己使用,比如我們一個app有多個 activity,只有主控 activity 會訪問其它的 activity 時就是這樣的。因為隱含地啟動一個 app 的方式是通過對比 intent 條件的,我們沒有指定 default category 就是表示我們不打算被其它程序隱含地啟動(比如我們想放個木馬什麼的)。
這個文檔說明了,想以隱含方式啟動 activity 就需要添加 default category,這是因為需要允許其它app來啟動你的activity (而啟動自己的activity甚至可以直接使用類名來,不需要這么麻煩)。
另外,當我們希望把主控activity列在應用程序列表中時我們就給它添加 launcher category。
舉個例子,一個產品管理程序,主控activity是先打開當前熱銷產品列表,它在手機的應用程序列表中,因此需要一個 launcher category,它有一個產品詳細介紹的activity可以允許通過一個產品編號來查看產品,甚至在網頁上有個鏈接,這時這個產品詳細介紹activity就需要一個default category但不需要launcher category,而另一個修改產品資料的activity則不是必須添加一個category,因為它只會被主控activity啟動並且外部其它app不應該有機會隱含地啟動它。
http://developer.android.com/guide/components/intents-filters.html
❽ android中intent的作用
意圖和意圖過濾器Intents and Intent Filters
一個應用程序的三個核心組件-活動,服務和廣播接收器是通過消息即意圖(Intents)來激活的。Intent息傳送是相同或不同應用中組件運行時晚綁定的一種機制。意圖本身,一個意圖對象,是一個包含被執行操作抽象描述的被動的數據結構-或者,對於廣播而言,是某件已經發生並被聲明的事情的描述。存在不同的機制來傳送意圖到每種組件中:
• 一個意圖對象是傳遞給Context.startActivity()或者Activity.startActivityForResult()來啟動一個活動或者讓一個存在的活動去做某些新的事情。
• 一個意圖對象是傳遞給Context.startService()來發起一個服務或者遞交新的指令給運行中的服務。類似的,一個意圖能被傳遞給Context.bindService() 來在調用組件和一個目標服務之間建立連接。作為一個可選項,它可以發起這個服務如果還沒運行的話。
• 傳遞給任意廣播方法(例如Context.sendBroadcast(),Context.sendOrderedBroadcast(), 或者Context.sendStickyBroadcast())的意圖對象被傳遞給所有感興趣的廣播接收者。許多種廣播產生於系統代碼。
在每個例子里,Android系統找到合適的活動,服務,或者一組廣播接收者來回應這個意圖,必要時實例化它們。這些消息傳送系統沒有重疊:廣播意圖僅被傳遞給廣播接收者,永遠不會給活動或者服務。一個傳送給startActivity()的意圖是只會被傳遞給一個活動,永遠不會給一個服務或廣播接收者,如此類推。
這篇文檔以意圖對象的描述開始,然後描述Android映射意圖到組件的規則-如何解決哪個組件應該接收一個意圖消息。對於沒有顯式命名一個目標組件的意圖,這個過程包括對照與潛在目標相關聯的意圖過濾器來測試這個意圖對象。
意圖對象Intent Objects
一個意圖Intent對象是一堆信息。它包含接收這個意圖的組件感興趣的信息(例如將要採取的動作和操作的數據)再加上Android系統感興趣的信息(例如應該處理這個意圖的組件類別和如何啟動一個目標活動的指令):
組件名稱Component name
應該處理這個意圖的組件名字. 這個欄位是一個ComponentName對象- 一個組合物:目標組件的完全合格的類名 (比如"com.example.project.app.FreneticActivity") 以及應用程序描述文件中設置的組件所在包的名字(比如, "com.example.project"). 這個組件名字的包部分和描述文件中設置的包名字不一定要匹配。
組件名字是可選的。如果被設置了,這個意圖對象將被傳遞到指定的類。如果沒有, Android使用另外的意圖對象中的信息去定位一個合適的目標- 請看本文稍後描述的意圖解析Intent Resolution。
組件名字通過如下方法:setComponent(),setClass(), 或者setClassName()設置並通過getComponent()讀取。
❾ Android顯示Intent和隱示Intent之間的區別
在Activity的跳轉中
>Activity的跳轉需要創建Intent對象,通過設置intent對象的參數指定要跳轉Activity
>通過設置Activity的包名和類名實現跳轉,稱為顯式意圖
>通過指定動作實現跳轉,稱為隱式意圖
###顯式意圖
* 跳轉至同一項目下的另一個Activity,直接指定該Activity的位元組碼即可
Intent intent = new Intent();
intent.setClass(this, SecondActivity.class);
startActivity(intent);
* 跳轉至其他應用中的Activity,需要指定該應用的包名和該Activity的類名
Intent intent = new Intent();
//啟動系統自帶的撥號器應用
intent.setClassName("com.android.dialer", "com.android.dialer.DialtactsActivity");
startActivity(intent);
###隱式意圖
* 隱式意圖跳轉至指定Activity
Intent intent = new Intent();
//啟動系統自帶的撥號器應用
intent.setAction(Intent.ACTION_DIAL);
startActivity(intent);
* 要讓一個Activity可以被隱式啟動,需要在清單文件的activity節點中設置intent-filter子節點
<intent-filter >
<action android:name="com.itheima.second"/>
<data android:scheme="asd" android:mimeType="aa/bb"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
* action 指定動作(可以自定義,可以使用系統自帶的)
* data 指定數據(操作什麼內容)
* category 類別 (默認類別,機頂盒,車載電腦)
* 隱式意圖啟動Activity,需要為intent設置以上三個屬性,且值必須與該Activity在清單文件中對三個屬性的定義匹配
* intent-filter節點及其子節點都可以同時定義多個,隱式啟動時只需與任意一個匹配即可
#####獲取通過setData傳遞的數據
//獲取啟動此Activity的intent對象
Intent intent = getIntent();
Uri uri = intent.getData();
###顯式意圖和隱式意圖的應用場景
* 顯式意圖用於啟動同一應用中的Activity
* 隱式意圖用於啟動不同應用中的Activity
* 如果系統中存在多個Activity的intent-filter同時與你的intent匹配,那麼系統會顯示一個對話框,列出所有匹配的Activity,由用戶選擇啟動哪一個
❿ androidapkintent intentjava代碼寫入哪個文件
您好,很高興為您解答。
Java代碼
<pre t="code" l="java">Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.parse("file://" + cachePath),
"application/vnd.android.package-archive");
this.startActivity(intent);
如若滿意,請點擊右側【答案】,如若還有問題,請點擊【追問】
希望我的回答對您有所幫助,!
~ O(∩_∩)O~