В соответствии с вашими требованиями вам необходимо внедрить системное окно
предупреждение в классе обслуживания, чтобы показать изображение в фоновом режиме, когда приложение
замкнутый
Это решение по вашему требованию.
В manifest
добавить это
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Затем в вашей панели запуска activity
или в любой базовой деятельности добавьте эти разрешения
private static final int CODE_DRAW_OVER_OTHER_APP_PERMISSION = 2084;
В onCreate()
добавить это
if (SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, CODE_DRAW_OVER_OTHER_APP_PERMISSION);
//finish();
}
Обработка запроса на разрешение
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CODE_DRAW_OVER_OTHER_APP_PERMISSION) {
if (SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, CODE_DRAW_OVER_OTHER_APP_PERMISSION);
} else {
// do stuff here
}
}
}
и делайте это в service
классе, проверьте ссылку ниже и делайте свои вещи соответственно
https://medium.com/@kevalpatel2106/create-chat-heads-like-facebook-messenger-32f7f1a62064
, где image_layout
. xml это
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<pl.droidsonroids.gif.GifImageView
android:id="@+id/catgif"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher_background"
android:background="@android:color/holo_blue_dark"
/>
</android.support.constraint.ConstraintLayout>
Обновление : - Вы можете внести изменения в файл image_layout, чтобы показать свой GIF любой размер и силу тяжести на экране
Вы можете внести изменения с помощью
android:layout_width="any_size"
android:layout_height="any_size"