導航:首頁 > 操作系統 > androidgetintent

androidgetintent

發布時間:2022-09-03 09:50:18

A. android中第一個activity的onCreate中就用getIntent()方法。為什麼不會報空指針呢

這個intent一定是不會未空的,MainActivity是的intent一開是ActivityManager發出來的,所以是不為空的

B. Android Intent 如何接收到指定的Intent傳遞過來的值呢

首先,盡量不要用try{}catch去捕捉能用判斷規避的異常,那樣會影響效率,每次出現異常,虛擬機要抓錯誤調用堆棧。所以,最好的方式是通過判斷去規避。
按你的思路,可以先判斷getIntent.getExtras()是否為null。
Intent
_getIntent
=
this.getIntent();
if(
_getIntent.getExtras()
!=
null){
Log.i("YuryLog","理論上只有點了確認鍵才執行");
receiveName
=
_getIntent.getExtras().getString("sendName");
receiveEatSomething
=
_getIntent.getExtras().getString("sendeatSomething");
receiveCopies
=
_getIntent.getExtras().getString("sendcopies");
......
要指出的是,上述代碼,最好使用getXXXExtra這類方法,它不會出現空指針(除了少數幾個,比方說getStringExtra)。
需要設定默認值的,在沒有值時它會返回默認值;沒有設置默認值的,在沒有值時會返回null,針對這類判空一下。
可以看下getBooleanExtra的源碼
public
boolean
getBooleanExtra(String
name,
boolean
defaultValue)
{
return
mExtras
==
null
?
defaultValue
:
mExtras.getBoolean(name,
defaultValue);
}
而getExtras()在沒有值時會返回null,看下源碼:
public
Bundle
getExtras()
{
return
(mExtras
!=
null)
?
new
Bundle(mExtras)
:
null;
}
所以,最好不要用getIntent().getExtras()這種方式,換用getIntent().getXXXExtras(),這樣針對有設置默認值的就不需要判空了。
activity之間傳值,是沒有機制可以確定哪個activity傳過來的。這是考慮到代碼的可擴展性,解耦。要確定哪個activity發過來,在intent創建那裡多傳個布爾值就行,比方說下面的代碼。
發送
intent.putExtra("fromXXActivity",
true);
接收
if
(getIntent().getBooleanExtra("fromXXActivity",
false))
{
......
//
這里,你就可以安全的接收那個activity發過來的所有值。
}

C. Android開發中,onCreate方法中經常有直接調用的方法如:getIntent(),這樣的方法都是Activity定義過的嗎

getIntent()得到的startActivity(intent)中傳遞過來的Intent的,就像你說說的那樣,是Activity實現的,你繼承了Activity,所以自然就能用了。

getDefaultAdapter()這個不是Activity的

D. 我是android 開發的 在mainActivity中調到 CaptureActivity 然後在跳回來 getIntent取不到值

本來就獲取不到。返回的時候沒有用intent。。這樣寫的話 你要用startacitvityforresult 來啟動第二個頁面

E. 安卓getIntent();方法

原方法為 public Intent getIntent() ,它是Intent類本身的一個方法,可以直接返回Intent實例。調用其它類的方法才用對象或對象(靜態方法用類名)。這樣的例子有很多啊,例如:getBaseContext(), 得到一個Context的引用。

F. android this.getIntent(); 和new Intent();有什麼 區別呢

不要用getintent

getintent是用來獲取前一個activity的的附加數據的
比如oneactivity用intent啟動twoactivty,並且用putextra方法加入了一些數據,在twoactivity就可以getintent,使用getextra獲取額外數據

G. android 中如何使用intent通過傳遞變數傳遞數據

Intent intent =new Intent(AActivity.this,BActivity.class);
intent.putExtra("num1", num1) ;
intent.putExtra("num2", num2) ;
startActivity(intent) ;
另一個接受的是Activity是 :
String num1 =this.getIntent().getStringExtra("num1") ;
String num2 =this.getIntent().getStringExtra("num2") ;
基本就這樣

閱讀全文

與androidgetintent相關的資料

熱點內容
怎麼恢復手機app的安裝包 瀏覽:300
idea重啟項目不編譯 瀏覽:495
程序員那麼可愛演員表陸漓媽媽 瀏覽:127
linuxgadget驅動 瀏覽:592
華三調用acl的命令 瀏覽:7
資金流pdf 瀏覽:929
金融結演算法補充條款 瀏覽:289
什麼叫伺服器怎麼連接 瀏覽:519
空調壓縮機有製冷但室內不是很冷 瀏覽:837
如何查解壓成功 瀏覽:648
代碼編譯伺服器硬體配置2021 瀏覽:413
php如何選中相同的進行修改 瀏覽:623
工行app個人怎麼給企業賬戶轉賬 瀏覽:149
匯編與程序員 瀏覽:666
壓縮包解碼器下載 瀏覽:130
愛旅行的預備程序員 瀏覽:111
安卓qq瀏覽器怎麼轉換到ios 瀏覽:292
不同編譯器的庫可以調用嗎 瀏覽:455
灰度信託基金加密 瀏覽:423
宿遷程序員兼職網上接單 瀏覽:929