如何在其他应用中叠加视图

时间:2013-12-09 02:15:32

标签: android

我从哪里开始?

我不知道将使用哪些功能或权限来实现此功能。 不需要root。

视图看起来像这样,右侧的相机按钮,它是浮动的并且对其他应用程序可见,如果您按下它,它将捕获屏幕截图。

enter image description here

注意:我不会制作截图应用,这只是我想要实现的一个例子。

2 个答案:

答案 0 :(得分:10)

答案 1 :(得分:1)

试试这个:

    if(!isSystemAlertPermissionGranted(MainActivity.this)){
        requestSystemAlertPermission(MainActivity.this,1);
    }

    startService(new Intent(getApplicationContext(), Overlay.class));

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;
}