qq游戏无法进入房间的返回键

Android按返回键,程序进入后台运行,不关闭程序,finishAcrivity - 博客频道 - CSDN.NET
陈振阳(Net)
分类:android
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(false);
return true;
return super.onKeyDown(keyCode, event);
主要是moveTaskToBack(false);方法,源码如下
* Move the task containing this activity to the back of the activity
The activity's order within the task is unchanged.
of if true it will work for any activity in
* @return If the task was moved (or it was already at the
back) true is returned, else false.
public boolean moveTaskToBack(boolean nonRoot) {
return ActivityManagerNative.getDefault().moveActivityTaskToBack(
mToken, nonRoot);
} catch (RemoteException e) {
排名:第5265名
(27)(41)(4)(4)(9)(3)(2)(4)(3)(1)(2)(1)(1)(21)(3)(8)(3)(1)(2)(1)(3)(0)(5)(11)(1)(17)(21)(1)(2)(1)(4)(1)(5)(21)(3)(92)(5)(3)(0)(1)(2)(1)(1)(1)(1)android(8)
设置 android:noHistory=true后,该Activity在statck中不留历史痕迹。默认的值是false。
举例说明,假设有三个Activity分别是:A,B,C。这三个Activity可以依次顺序启动下一个Activity,比如,在A中做一个Button,用户点击后跳转到B ; 同样,在B中也做一个Button,点击跳转到C。C不再做Button,只是一个用以演示的空壳Activity。
在Manifest.xml中配置B的属性为:android:noHistory=true
其他两个不做特别设置,仅仅作为一般的Activity处理。
可以观察到,A启动后,从A跳转到B,再从B跳转到C,进入C后,此时如果按返回键,将直接进入A,而不是B。简单的跳转逻辑路线:
A –& B –& C –& 按返回键 –& A
综上,可以这么理解android:noHistory=true对Activity行为的影响:当该Activity屏幕不可见时,相当于Android调用Activity的finish()方法结束了该Activity。
正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法
例如:一个android程序包含两个Activity,分别为MainActivity和OtherActivity,MainActivity为程序启动的Activity。如果程序正位于OtherActivity,点击home键,程序退回到桌面,
在次点击程序图标,程序默认会自动重启,即重新进入MainActivity,而不是进入点击home键的时刻程序所位于的OtherActivity。
解决方法:
在AndroidManifest.xml中修改,MainActivity的launchMode,去掉android:launchMode=&singleTask&启动模式即可。
AndroidManifest.xml的配置代码
&application
&&&&&&&android:icon=&@drawable/ic_launcher&
&&&&&&&android:label=&@string/app_name&
&&&&&&&android:theme=&@style/AppTheme& &
&&&&&&&&activity
&&&&&&&&&&&android:name=&.MainActivity&
&&&&&&&&&&&android:label=&@string/title_activity_main&&
&&&&&&&&&&&&intent-filter&
&&&&&&&&&&&&&&& &actionandroid:name=&android.intent.action.MAIN& /&
&&&&&&&&&&&&&&& &categoryandroid:name=&android.intent.category.LAUNCHER& /&
&&&&&&&&&&&&/intent-filter&
&&&&&&&&/activity&
&&&&&&&&activity
&&&&&&&&&&&android:name=&.OtherActivity&
&&&&&&&&&&&android:label=&@string/title_activity_other&android:launchMode=&singleTask&&
&& &&&&&&/activity&
&&&&/application&
三:&android:alwaysRetainTaskState=&true&设置为true
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3223次
排名:千里之外
(1)(2)(3)(1)(1)(3)(1)(3)@Override&&
&&&&public&boolean&onKeyDown(int&keyCode,&KeyEvent&event)&{&&
&&&&&&&&if&(keyCode&==&KeyEvent.KEYCODE_BACK)&{&&
&&&&&&&&&&&&moveTaskToBack(false);&&
&&&&&&&&&&&&return&true;&&
&&&&&&&&}&&
&&&&&&&&return&super.onKeyDown(keyCode,&event);&&
主要是moveTaskToBack(false);方法,源码如下
&&&&&*&Move&the&task&containing&this&activity&to&the&back&of&the&activity
&&&&&*&stack.&&The&activity's&order&within&the&task&is&unchanged.
&&&&&*&@param&nonRoot&If&false&then&this&only&works&if&the&activity&is&the&root
&&&&&*&&&&&&&&&&&&&&&&of&a&&if&true&it&will&work&for&any&activity&in
&&&&&*&&&&&&&&&&&&&&&&a&task.
&&&&&*&@return&If&the&task&was&moved&(or&it&was&already&at&the
&&&&&*&&&&&&&&&back)&true&is&returned,&else&false.
&&&&public&boolean&moveTaskToBack(boolean&nonRoot)&{
&&&&&&&&try&{
&&&&&&&&&&&&return&ActivityManagerNative.getDefault().moveActivityTaskToBack(
&&&&&&&&&&&&&&&&&&&&mToken,&nonRoot);
&&&&&&&&}&catch&(RemoteException&e)&{
&&&&&&&&&&&&
&&&&&&&&return&false;
http://my.oschina.net/u/936286/blog/280098
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:29533次
排名:千里之外
原创:54篇
转载:16篇
(2)(2)(1)(5)(2)(8)(1)(4)(2)(5)(1)(11)(13)(5)(4)(4)

我要回帖

更多关于 qq游戏无法进入房间 的文章

 

随机推荐