需求:当android 手机 按了 home 键后 接到语音通话 需要 弹出 语音接听界面。
业务分析:当app 处于 后台状态下(按home键)接到socket 消息或者推送消息 然后 直接从后台 弹出界面。
最终效果:很多 新版(Android Q)、小米等手机 弹出不相关界面。测试和产品 组 要求修复。
经过探索发现 大部分手机 需要开启【悬浮窗权限】 小米等部分手机 需要开启【后台弹出界面】权限
于是 就手写了一个 demo :希望有需要的同学 可以试试:
集成方式:项目 目录 build.gradle
repositories {
google()
jcenter()
}
代码如下:
第一步:使用前 请先申请权限
BgStart bgStart = new IBgStartImpl();
Log.e("RAG", Miui.isAllowed(this)+"");
bgStart.requestStartPermisstion(this, new PermissionLisenter() {
@Override
public void onGranted() {
Log.e(TAG, "onGranted");
}
@Override
public void cancel() {
Log.e(TAG, "cancel");
}
@Override
public void onDenied() {
Log.e(TAG, "onDenied");
}
});
第二步:启动界面 从MainActivity 跳转到B (activity)
Intent intent = new Intent(MainActivity.this, B.class);
new IBgStartImpl().startActivity(MainActivity.this, intent, B.class.getName());
DEMO 持续更新 欢迎交流
作者:脚滑的小朋友