实现应用保活,婚恋交友系统源码该怎么做

保活怎么做

现在的实现应用保活保活不像以前,需要用很多黑科技来帮助我们实现,比如1像素技术、双进程守护,而现在的保活需要遵循谷歌官方文档的资料来进行,更多的反而是放在实现应用保活用户端了。

比如安卓官方文档在后台限制中是这么说的:

在后台中运行的 Service 会消耗设备资源,这可能会降低用户体验。 为了缓解这一问题,系统对这些 Service 施加了一些限制。

如果满足以下任意条件,应用将被视为处于前台:

具有可见 Activity(不管该 Activity 已启动还是已暂停)。
具有前台 Service。
另一个前台应用已关联到该应用(不管是通过绑定到其中一个 Service,还是通过使用其中一个内容提供程序)。 例如,如果另一个应用绑定到该应用的 Service,那么该应用处于前台:
IME(输入法)
壁纸 Service
通知侦听器
语音或文本 Service
如果以上条件均不满足,应用将被视为处于后台。

所以根据以上条件,开发者们想出来了的保活方案

  • 前台服务
  • 后台播放无声音乐
  • 傀儡通知

即使开发者做到以上功能,也不能保证实现应用保活就能存活,因为保活和省电不能兼得。

现在的保活想要做的比较好,还需要从用户层面进行考虑。 比如:

  1. 忽略电池优化
  2. 允许自启动
  3. 手机管家app的白名单

忽略电池优化

默认的程序是允许电池优化的,优化的目的就是防止程序在后台偷偷的耗电,我们也见过部分应用有下面的这个功能。

1.jpg

这就是在向用户申请忽略电池优化,当用户进行允许后,可以适当的延长实现应用保活的存活时间。这样就不需要用户在应用和通知->高级->特殊应用权限->电池优化中找到该应用忽略电池优化这种繁琐的步骤了。

如何使用呢?

  1. 在AndroidManifest.xml 中申请权限,不需要动态权限。
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
  1. 申请忽略电池优化
@RequiresApi(api = Build.VERSION_CODES.M)
public void requestIgnoreBatteryOptimizations() {
    try {
        Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
        intent.setData(Uri.parse("package:" + getPackageName()));
        startActivity(intent);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
  1. 判断是否开启电池优化
@RequiresApi(api = Build.VERSION_CODES.M)
private boolean isIgnoringBatteryOptimizations() {
    boolean isIgnoring = false;
    PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
    if (powerManager != null) {
        isIgnoring = powerManager.isIgnoringBatteryOptimizations(getPackageName());
    }
    return isIgnoring;
}

婚恋交友系统源码这样就完成保活啦。

声明:本文由云豹科技转发自Android唐浮博客,如有侵权请联系作者删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值