banner传送门 圆形进度条 相机取景框
注: 机型适配 可以使用 如下方式 完成 适配(当发现不能正常弹出 权限弹窗,又不能正常调起页面)
比如 oppo 手机 直接在 方法后面加参数 即可 【"huawei", "oppo", "vivo","meizu"】
BgStart.getInstance().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");
}
},"opple");
需求:当android 手机 按了 home 键后 接到语音通话 需要 弹出 语音接听界面。
业务分析:当app 处于 后台状态下(按home键)接到socket 消息或者推送消息 然后 直接从后台 弹出界面。
最终效果:很多 新版(Android Q)、小米等手机 弹出不相关界面。测试和产品 组 要求修复。
经过探索发现 大部分手机 需要开启【悬浮窗权限】 小米等部分手机 需要开启【后台弹出界面】权限
于是 就手写了一个 demo :希望有需要的同学 可以试试:
集成方式:项目 目录 build.gradle
repositories {
google()
jcenter()
}
项目build.gradle
dependencies {
implementation 'org.zhx.common:bgStart:1.1.2'
}
非Androidx 项目 在gradle.properties 添加:
android.useAndroidX=true
android.enableJetifier=true
代码如下:
第一步:AndroidMenifest 添加
第二步:Application onCreat中 初始化
@Override
public void onCreate() {
super.onCreate();
BgManager.getInstance().init(this);
}
第三步:使用前 请先申请权限
BgStart.getInstance().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, TargetActivity.class);
BgStart.getInstance().startActivity(MainActivity.this, intent, TargetActivity.class.getName());
DEMO 下载 持续更新