当用户点开软件时,系统会默认调用app中声明为“launch”(或者“main”)的activity中的onCreate()方法。我们一般在AndroidManifest.xml中定义主activity。
<activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
1.如果新Activity是透明主题时,旧Activity会不会走onStop
不会!旧Activity处于Paused状态。
2.TaskAffinity 是什么?
每个activity都有taskAffinity属性,这个属性指出了它希望进入的Task。标识Activity任务栈名称的属性:TaskAffinity,默认为应用包名。
3.Android Service与Activity之间通信方式有哪些?
4.Activity启动方式
am启动一个activity :
adb shell am start com.example.fuchenxuan/.MainActivity
am发送一个广播,使用action:
adb shell am broadcast -a magcomm.action.TOUCH_LETTER
5.如何获取当前屏幕Activity?
使用ActivityLifecycleCallbacks,详细。
6.Activity的四种启动模式?
启动模式有4种,分别为standard、singleTop、singleTask、singleInstance;
7.如何退出 Activity?如何安全退出已调用多个 Activity 的 Application?
在需要结束应用时,发送一个特定的广播,每个 Activity 收到广播后,关闭 即可。
//给某个 activity 注册接受接受广播的意图 registerReceiver(receiver, filter)
//如果过接受到的是 关闭 activity 的广播 activity finish()掉
就调用 finish()方法 把当前的 在打开新的 Activity 时使用 startActivityForResult,然后自己加标志,在 onActivityResult 中处理,递归关闭。
每打开一个 Activity,就记录下来。在需要退出时,关闭每一个 Activity
原文:http://www.cnblogs.com/slothccc/p/7384818.html