+ -
当前位置:首页 → 问答吧 → 请问关於模拟使用home键的问题

请问关於模拟使用home键的问题

时间:2011-12-05

来源:互联网

请问一下
如果我想要从 camera 这个 app
我用以下语句呼叫 camera ( 然后调成录影模式 )
1
Intent CameraIntent = new Intent(activity, launcherActivityClass);


接著按home键回桌面 ( 小弟是使用tablet )
我是用以下语句 模拟按home键
1
 sendKeys(KeyEvent.KEYCODE_HOME);

请问我上面这句有问题吗?
为何没有返回到桌面呢?
==================
这里原来是我搞错了
这个只是得到一个VALUE值而已
所以要用下面的语句才能模拟返回桌面
1
2
3
4
Intent intent1 = new Intent(); intent1.setAction(Intent.ACTION_MAIN); intent1.addCategory(Intent.CATEGORY_HOME);
activity.startActivity(intent1);


然后再次回到 camera ( 这时候 camera 应该是在 录影模式 而不是预设的拍照模式 )
请问用下列语句这样对吗?
呼叫出来应该是要在录影模式
1
activity.startActivity(CameraIntent);

不过小弟用这个语句再次呼叫
这样好像是又重新叫一个新的activity
而不是回到之前那个 camera 的 activity
请问这里该使用什么方式可以回到之前的 camera activity

作者: tooss3   发布时间: 2011-12-05

请问各位大大
按了home键之后要怎么返回上一个activity呢?
我有想到的作法
是结束掉当前的activity
1
system.exit(0);


或是呼叫之前camera的activity
1
activity.startActivity(CameraIntent);

不过这样好像是重新开一个 camera 的 activity
并不是呼叫我之前那个一个 activity

a b 两个 activity
返回之前的 activity
只要结束掉当前的 activity 就可以了
可是
当前状态是 home
要返回上一个 activity
用结束当前的 activity 的作法好像没作用
不知道有大大知道该怎么做吗?

作者: tooss3   发布时间: 2011-12-06

按下HOME按钮离开应用程式, 会顺序调用: OnPause() -> OnStop().
再次进入应用程式会调用: OnReStart() -> OnStart() -> OnResume().

按下BACK按钮或调用finish()方法离开应用程式: OnPause() -> OnStop() -> onDestroy().
再次进入应用程式会调用: OnCreate() -> OnStart() -> OnResume().

System.exit() :
kills your entire process.

activity.finish() :
just hides, stops and destroys your activity. Your
process is still running.

所以你想回到上一个Activity
可以使用startActivityForResult()这个方法

startActivityForResult()回到上一个activity会是这样
onRestart()->onStart() ->onResume()
startActivity()回到上一个Activity会是这样
onCreate()->onStart()->onResume()

作者: givemepass   发布时间: 2011-12-06

热门下载

更多