androidintent方法
① Android開發中Intent的具體用法
Intent這個東西有太多可以說的了,如果你是初學你只要了解他的顯式調用,比如你要從activity1跳轉到activity2,在activity1裡面執行下面的語句,就能跳轉到activity2裡面,別忘記在manifest.xml裡面把activity2定義一下。
Intent intent = new Intent(activity1.this, activity2.class);
startActivity(intent);
這是最簡單的方式,當然這種方式也可以傳送數據(從activity1到activity2中),比如
Intent intent = new Intent(activity1.this, activity2.class);
intent.putExtra("name", "value");
startActivity(intent);
然後在activity2裡面接收的地方,onResume或者onCreate方法裡面調用獲取Intent的方法
Intent getIntent = getIntent();
Bundle bundle = intent.getExtras();
String va = bundle.getString("name");
以上是顯式調用的基本用法,Intent的精髓還是在隱式調用,如果你有疑問可以跟問題。
② Android Intent的作用,哪些類型的數據可以被傳遞
(1) 要激活一個新的Activity,或者讓一個現有的Activity執行新的操作,可以通過調用Context.startActivity()或者Activity.startActivityForResult()方法。這兩個方法需要傳入的Intent參數也稱為Activity Action Intent(活動行為意圖),根據Intent對象對目標Activity描述的不同,來啟動與之相匹配的Activity或傳遞信息。
(2) 要啟動一個新的服務,或者向一個已有的服務傳遞新的指令,調用Context.startService()方法或調用Context.bindService()方法將調用此方法的上下文對象與Service綁定。
Intent一旦發出,Android都會准確找到相匹配的一個或多個Activity、Service或Broadcast-Receiver作為響應。所以,不同類型的Intent消息不會出現重疊:BroadcastIntent消息只會發送給BroadcastReceiver,而絕不可能發送給Activity或Service。由startActivity()傳遞的消息也只可能發送給Activity,由startService()傳遞的Intent只可能發送給Service。
向下一個Activity傳遞數據(使用Bundle和Intent.putExtras)
Intent it = new Intent(Activity1.this, Activity2.class);
Bundle bundle=new Intent();
bundle.putString("name", "This is from MainActivity!");
it.putExtras("bd",bundle); // it.putExtra(「test」, "shuju」);
startActivity(it); // startActivityForResult(it,REQUEST_CODE);
③ android 中的兩種創建Intent的方式有什麼區別第一種是:new (getApplicationContext(),XX.class)
(getApplicationContext(),XX.class)是通用的,任何時候用這個new出來的intent是不會出錯的。因為getApplicationContext()可以獲得當前類的上下文
new Intent(this,XX.class);如果在當前類的內部類實例化的話,this指向內部類,是錯的,而且這個錯誤是會提示的
④ android中intent什麼意思
英文里 Intent是「意向、打算」的意思,其實就是告訴別人你的意圖的意思了,這么理解Android裡面的Intent也就不難了。
書面化的解釋是:
Android中提供了Intent機制來協助應用間的交互與通訊,Intent負責對應用中一次操作的動作、動作涉及數據、附加數據進行描述,Android則根據此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,並完成組件的調用。Intent不僅可用於應用程序之間,也可用於應用程序內部的Activity/Service之間的交互。因此,Intent在這里起著一個媒體中介的作用,專門提供組件互相調用的相關信息,實現調用者與被調用者之間的解耦。
⑤ android 怎麼intent
Intent intent = new Intent(this,目標Activity.class);
startActivity(intent);
這個就是示例
⑥ android怎麼用intent調用本機的導航
一、其他應用發Intent,執行下列方法:
I/@@@philn(12410): onCreate
I/@@@philn(12410): onStart
I/@@@philn(12410): onResume
發Intent的方法:
Uri uri = Uri.parse("philn://blog.163.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
二、接收Intent聲明:
<activity android:name=".IntentActivity" android:launchMode="singleTask"
android:label="@string/testname">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="philn"/>
</intent-filter>
</activity>
三、如果IntentActivity處於任務棧的頂端,也就是說之前打開過的Activity,現在處於
I/@@@philn(12410): onPause
I/@@@philn(12410): onStop 狀態的話
其他應用再發送Intent的話,執行順序為:
I/@@@philn(12410): onNewIntent
I/@@@philn(12410): onRestart
I/@@@philn(12410): onStart
I/@@@philn(12410): onResume
在Android應用程序開發的時候,從一個Activity啟動另一個Activity並傳遞一些數據到新的Activity上非常簡單,但是當您需要讓後台運行的Activity回到前台並傳遞一些數據可能就會存在一點點小問題。
首先,在默認情況下,當您通過Intent啟到一個Activity的時候,就算已經存在一個相同的正在運行的Activity,系統都會創建一個新的Activity實例並顯示出來。為了不讓Activity實例化多次,我們需要通過在AndroidManifest.xml配置activity的載入方式(launchMode)以實現單任務模式,如下所示:
<activity android:label="@string/app_name" android:launchmode="singleTask"android:name="Activity1"></activity>
⑦ android編程中,關於Intent類的getExtra()和getExtras()這兩個函數的區別,還有具體使用方法
使用方法:通過Intent對象調用來使用,兩者區別如下:
一、作用不同
1、getExtra():獲取頁面傳遞過來的單個參數。
2、getExtras():獲取頁面傳遞過來的參數數組。
二、使用方法不同
1、getExtra():通過Intent對象直接引用,比如:Intent..getExtra();
2、getExtras():通過聲明Intent對象方式直接使用,比如:Intentiin=getIntent(); Bundleb=iin.getExtras();
三、底層處理方式不同
1、getExtra():接收到的參數存儲到單個變數中。
2、getExtras():接收到的參數存儲到一個數組變數中。
⑧ Android開發中創建Intent方法的區別~求解釋
Bundle只是一個信息的載體
將內部的內容以鍵值對組織
Intent負責Activity之間的交互
自己是帶有一個Bundle的
Intent.putExtras(Bundle
bundle)直接將Intent的內部Bundle設置為參數里的bundle
Intent.getExtras()直接可以獲取Intent帶有的Bundle
ntent.putExtra(key,
value)
和
Bundle
bundle
=
intent.getExtras();
bundle.putXXX(key,
value);
intent.putExtras(bundle);
是等價的
intent.getXXXExtra(key)
和
Bundle
bundle
=
intent.getExtras();
bundle
.getXXX(key);
是等價的(XXX代表數據/對象類型
String
boolean