導航:首頁 > 操作系統 > 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相關的資料

熱點內容
解壓筆如何清洗 瀏覽:895
linux字元驅動ioctl 瀏覽:62
不同的編譯器求值順序可能不同 瀏覽:774
程序員染發被開除 瀏覽:391
我的世界怎麼命令魔方 瀏覽:50
javascript面向對象編程pdf 瀏覽:879
電腦里所有的文件夾都打不開了 瀏覽:496
android條碼掃描源碼 瀏覽:363
linux反編譯到c 瀏覽:610
oppo手機大文件夾怎麼設置 瀏覽:274
程序員必須寫日報嗎 瀏覽:299
javaint轉換成byte 瀏覽:54
汽車壓縮機不運行 瀏覽:341
linux內核存儲 瀏覽:970
常規加密區長度 瀏覽:171
別克君越顯示屏怎麼裝app 瀏覽:693
命令母親 瀏覽:716
航母pdf 瀏覽:877
即拼商城軟體源碼 瀏覽:207
王羲之小楷pdf 瀏覽:859