安卓实现后台静默启动Activity(非异步)

场景描述:
现在打开了Activity A,点击A的某一个控件,将执行耗时的操作,此时用户点击HOME键到桌面去了,过了一会儿,A中的耗时操作执行完了,将会启动一个新的Activity B,我们想要的效果是B在后台“静默”启动,而不是突然弹出来(如果不做特殊处理,在4.4以上会突然弹出来)。

实现思想:
安卓似乎并没有开放后台启动Activity的方法(如有还请告知),所以关键在于点击HOME键这个动作。在A中定义一个boolean类型变量isForeground,在onPause()里isForeground设为false,在onResume()里isForeground设为true,A执行完毕耗时任务之后,start B的时候,通过intent把isForeground传递给B,B在onCreate()的时候,根据isForeground来决定是否执行 moveTaskToBack(true);

原文及代码在此:
http://timnew.me/blog/2013/12/19/start-acitivity-in-background-on-android-4-4-kitkat/

要在Android中实现后台连续静默拍照,我们可以使用Camera2 API来控制相机硬件,并在后台进行照片的捕获。下面是一种可能的实现方法: 首先,在AndroidManifest.xml文件中添加相应的权限,例如: ``` <uses-permission android:name="android.permission.CAMERA" /> ``` 然后,在你的代码中创建一个CameraCaptureSession.StateCallback的实例,以便相机会话状态发生变化时进行相应的处理。在这个回调接口中,我们需要实现onConfigured()方法来设置照片的捕获设置,并在准备好的时候调用CameraCaptureSession.capture()方法来捕获照片。 接下来,我们需要创建一个CameraCaptureSession.CaptureCallback的实例,用于监听相机捕获照片的过程,并在照片捕获完成时进行相应的处理。在onCaptureCompleted()方法中,我们可以对捕获到的照片进行保存,例如将其保存到指定的文件夹中。 之后,我们需要获取CameraManager的实例,并使用其方法打开相机设备。在打开相机设备之后,我们可以创建一个预览Surface,并将其添加到捕获请求中。 最后,我们可以调用CameraCaptureSession.capture()方法开始捕获照片,捕获的方式可以使用CameraDevice.TEMPLATE_STILL_CAPTURE来指定。 综上所述,通过以上步骤,我们可以在Android中实现后台连续静默拍照的功能。同时,为了避免闪退,我们需要注意合理地进行线程管理和异常处理。 需要注意的是,在使用相机硬件资源时,请确保适当地释放它们,以免造成资源浪费和性能问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值