How to overlay views in other apps

后端 未结 2 1867
谎友^
谎友^ 2020-12-14 17:30

Where do I start?

I don\'t know what functions or permissions will I use to make this. No root required.

The view look like this, the camera button on the ri

相关标签:
2条回答
  • 2020-12-14 18:06

    this called

    Draw Over Other Apps

    check these answers

    "DRAW OVER OTHER APP" is which permission in android

    How to draw a view on top of everything?

    (from Morrison Chang) What APIs in Android is Facebook using to create Chat Heads?

    0 讨论(0)
  • 2020-12-14 18:29

    Try this:

        if(!isSystemAlertPermissionGranted(MainActivity.this)){
            requestSystemAlertPermission(MainActivity.this,1);
        }
    
        startService(new Intent(getApplicationContext(), Overlay.class));
    

    And:

    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;
    }
    
    0 讨论(0)
提交回复
热议问题