导航:首页 > 操作系统 > 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相关的资料

热点内容
reactnative与android 浏览:663
程序员是干什么的工作好吗 浏览:258
kbuild编译ko 浏览:469
条件编译的宏 浏览:564
韩语编程语言 浏览:644
小程序开发如何租用服务器 浏览:78
怎么把钉钉文件夹保存到手机里 浏览:69
兵法pdf 浏览:643
app格式化下载不起怎么办 浏览:34
信捷加密文件是干嘛用的 浏览:952
su模型下载怎么解压不了 浏览:182
国际体验服如何把服务器改为亚服 浏览:882
手机怎么关闭视频加密 浏览:464
单片机编程存表法 浏览:721
富士康服务器是什么 浏览:454
编译是二进制吗 浏览:264
小程序账号登录源码 浏览:878
云南社保局app叫什么 浏览:699
美女程序员吃大餐 浏览:213
项目二级文件夹建立规则 浏览:562