1. 首页 > 科技 >

android 前台服务_Android前台服务

请不要限制黑阈获取Android id

startForeground(1423, nb.build());

<strong>黑阈权限说明</strong>

android 前台服务_Android前台服务android 前台服务_Android前台服务


2.ACCESS_NETWORK_STATE 查看网络连前台服务是被认为是用户已知的正在运行的服务,当系统需要释放内存时不会优先杀掉该进程,前台服务必须有一个 notification 在状态栏中显示。接,检查网络状态,必要时提供“更新网络检测”去除网络叹号。

1.INTERNET 拥有完全的网络访问权限。黑阈需要本地网络权限访问“黑阈服务”。

3.RECEIVE_BOOT_COMPLETED 开机启动,开机以后提示“黑阈没有启动”,有 Root 时直接启动。

4. com.android.vending.BILLING Google Play 结算服务提供 Google Play 支付。

5.FOREGROUND_SERVICE 运行前台服务Android O 起,开机自启需要使用“前台服务”;Android P 起,需要申请该权限。

6.android.launcher.permission.INSTALL_SHORTCUT创建桌面快捷方式,用于临时启用,GCM 应用等。

Serv的保活机制

nb.setOngoing(true);

1.前台服务

NotificationCompat.Builder nb = new NotificationCompat.Builder(this);

nb.setContentTitle(getString(R.string.app_name));

nb.setContentText(getString(R.string.app_name));

nb.setSmallIcon(R.drawable.icon);

PendingIntent pendingintent =PendingIntent.getActivity(this, 0, new Intent(this, Main.class), 0);

nb.setContentIntent(pendingIntent);

【可行性】此方法对防止系统回收有一定的效果,可以减少被回收的概率,但是系统在内存极低的情况下,该Serv还是会被kill掉,并且不一定会重启。而清理工具或者手动强制结束,进程直接挂掉,并不会重启。

2.系统广播

通过系统的一些广播,比如:手机开机、解锁屏、网络连接状态变更、应用状态改变等等,然后判断Serv是否存活,若否则启动Serv。

【可行性】Android系统在3.1版本以后为了加强系统安全性和优化性能对系统广播进行了限制,应用手机开机、解锁屏、网络连接状态改变等有规律的系统广播在android3.1以后,首次安装未启动或者用户强制停止后,应用无法AccountMar accountMar = AccountMar.get(mContext);到。Android N取消了网络切换广播。

3.应用之间互拉

利用不同的app进程使用广播来进行相互唤醒,比如支付宝、淘宝、天猫、等阿里系的app,如果打开其中任意一个应用,其它阿里系的app也会唤醒了,其实BAT系都不多。另外现在很多推送sdk也会唤醒app。

【可行性】多个app应用唤醒需要相互之间有关联才能实现,推送sdk应用间唤醒当用户强制停止后无法唤醒。

4.利用Android系统提供的帐号和同步机制实现

在应用中建立一个帐号,然后开启自动同步并设置同步间隔时间,利用同步唤醒app。账号建立后在手机设置-账号中能看到应用的账号,用户可能会删除账号或者停止同步,故需要经常检测账号是否能正常同步。

//建立账号

Account riderAccount = new Account(mContext.getString(R.string.app_name), Constant.ACCOUNT_TYPE);

accountMar.addAccountExplicitly(riderAccount, mContext.getString(R.string.app_name), null);

ContentResolver.setIsSyncable(riderAccount, Constant.ACCOUNT_AUTHORITY, 1);

ContentResolver.addPeriodicSync(riderAccount, Constant.ACCOUNT_AUTHORITY, new 经过整理可行的方案有以下四种,配合使用:Bundle(), 60);

//开启同步

ContentResolver.setSyncAutomatically(riderAccount, Constant.ACCOUNT_AUTHORITY, true);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息