在做微博项目时,
当在账户管理界面AccountManagerActivity点击add按钮,跳转到添加账户授权界面时,报空指针的错就是直接进onNewIntent了,onCreate不再执行
所以oncreate的内容复制下,到onNewIntent, 都是些findViewById的不耗时工作,暂且这样解决
在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent
一、其他应用发Intent,执行下列方法:
): onCreate
): onStart
): 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,现在处于
): onPause
): onStop 状态的话
其他应用再发送Intent的话,执行顺序为:
): onNewIntent
): onRestart
): onStart
): onResume
在Android应用程序开发的时候,从一个Activity启动另一个Activity并传递一些数据到新的Activity上非常简单,但是当您需要让后台运行的Activity回到前台并传递一些数据可能就会存在一点点小问题。
首先,在默认情况下,当您通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统都会创建一个新的Activity实例并显示出来。为了不让Activity实例化多次,我们需要通过在AndroidManifest.xml配置activity的加载方式(launchMode)以实现单任务模式,如下所示:
1 <activity android:label="@string/app_name" android:launchmode="singleTask"android:name="Activity1">
2 </activity>
launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent方法,如下所示:
1 protected void onNewIntent(Intent intent) {
2 super.onNewIntent(intent);
3 setIntent(intent);//must store the new intent unless getIntent() will return the old one
4 processExtraData();
5 }
不要忘记,系统可能会随时杀掉后台运行的Activity,如果这一切发生,那么系统就会调用onCreate方法,而不调用onNewIntent方法,一个好的解决方法就是在onCreate和onNewIntent方法中调用同一个处理数据的方法,如下所示:
01 public void onCreate(Bundle savedInstanceState) {
02 super.onCreate(savedInstanceState);
03 setContentView(R.layout.main);
04 processExtraData();
05 }
06
07 protected void onNewIntent(Intent intent) {
08 super.onNewIntent(intent);
09 setIntent(intent);//must store the new intent unless getIntent() will return the old one
10 processExtraData()
11 }
12
13 private void processExtraData(){
14 Intent intent = getIntent();
15 //use the data received here
16 }
Xcode 4.3.2
错误描述: 证书一切正常!但是上传时仍然出现下面错误!
Application failed codesign verification. The signature was invalid,contains disallowed entitlements,or it was not signed with an iPhone Distribution Certificate.
解决办法!Edit Scheme—》Run app->在这里Info里面找到Build Configuration,选择Release。
然后进选中Target,Build Setting里面找到Code Signing里面将Release的Any IOS SDK,设为iPhone Distribution!
然后在菜单里面,Product-》Build For Running!然后找到App,Compress后,使用Application Loader上传即可!
爱图腾Android项目主管李鹏军确定演讲主题:Android音频口数据通信开发
话题简介:李鹏军将结合爱图腾与硬件结合的开发实践,讲解基于Android音频接口的双向数据通信技术,如何实现音频口双向通信,实现与外接设备的通信。
个人简介:李鹏军,爱图腾科技,Android项目主管,有多年从事Java,J2ME开发的经验,是国内较早的Android开发者。
关于:CMDN移动开发者俱乐部清凉夏日嘉年华
iOS DevCamp 7月27日 | Android DevCamp 7月28日 | 北京 | 新云南皇冠假日酒店
这是一个真正属于移动开发者的会议,参会者以交流、学习、提高、答疑解惑的移动开发实践者为主,你将极少看到投资人、市场人员、名人大腕、还有不知是何目的来参会的“打酱油”的人。参会者只有像你一样的有经验的开发者和工程师。
【特色】:
- 一个真正意义上的iOS/Android开发技术大会。
- 企业间、团队间交流和学习移动开发技术实践的平台。
- Dev to Dev,来自开发者,服务开发者。所有课程内容均不含任何商业推广目的。
- 课程内容覆盖iOS/Android知识体系的重要方面,并重点分享典型移动产品的开发实践。
- 国内资深移动开发专家评审团队对所有课程进行把关,确保课程内容全部为“无水分” “干货” 。
- 全部课程均有资深开发者讲授,他们或许不是名人大腕,但一定是“技术大牛”
- 与会者全部都是移动开发者和工程师及其开发团队成员
【特别设计】:
- 每一个课程打上该属性|Overview、中级|Intermediate、高级|Advanced的标签,有较多代码内容的课程,则打上“Code”标签,以帮助参会者选择参加。
- 每天下午课程结束后,还有2小时的开放空间讨论,由专业引导式引导讨论
- 课程结束后,所有参会者都可以在线做一个测试,以检验一天课程的学习成果,并帮助自己整理一天的知识重点。 所有测试题,均由格外讲师根据自己的演讲内容和幻灯片来提出。