android - studio - Cómo superponer vistas en otras aplicaciones
no puedo permitir superponer aplicaciones (2)
Prueba esto:
if(!isSystemAlertPermissionGranted(MainActivity.this)){
requestSystemAlertPermission(MainActivity.this,1);
}
startService(new Intent(getApplicationContext(), Overlay.class));
Y:
public static void requestSystemAlertPermission(Activity context, int requestCode) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
return;
final String packageName = context == null ? context.getPackageName() : context.getPackageName();
final Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + packageName));
if (context != null)
context.startActivityForResult(intent, requestCode);
else
context.startActivityForResult(intent, requestCode);
}
@TargetApi(23)
public static boolean isSystemAlertPermissionGranted(Context context) {
final boolean result = Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP || Settings.canDrawOverlays(context);
return result;
}
¿Dónde empiezo?
No sé qué funciones o permisos usaré para hacer esto. No se requiere raíz.
La vista se ve así, el botón de la cámara en el lado derecho, es flotante y visible para otras aplicaciones, si lo presionas, capturará una captura de pantalla.
Nota: no haré una aplicación de captura de pantalla, esto es solo un ejemplo de lo que quiero lograr.
este llamado
Dibujar sobre otras aplicaciones
revisa estas respuestas
"DIBUJAR SOBRE OTRA APLICACIÓN" es el permiso en android
¿Cómo dibujar una vista encima de todo?
(de Morrison Chang) ¿Qué API en Android usa Facebook para crear cabezas de chat?