(二)android 桌面悬浮窗 录屏源码放送

本文介绍了Android桌面悬浮窗的录屏功能,包括RecordScreenController接口及其实现RecordScreenControllerImpl,以及在system UI中展示图标的RecordScreenTitle。源码适用于系统UI,若要应用于其他应用,需要进行相应修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.录屏控制类接口封装RecordScreenController.java

package com.android.systemui.statusbar.policy;

import com.android.systemui.Dumpable;
import com.android.systemui.statusbar.policy.RecordScreenController.RecordScreenListener;

public interface RecordScreenController extends CallbackController<RecordScreenListener> {

    void setRecordScreen(boolean newState);
    boolean isEnabled();
    void setRecordScreenController(boolean enabled);
    boolean getRecordScreenController();
    void addCallback(RecordScreenListener callback);
    void removeCallback(RecordScreenListener callback);
    boolean isAvailable();


    public interface RecordScreenListener {

        /**
         * Called when the flashlight was turned off or on.
         * @param enabled true if the flashlight is currently turned on.
         */
        void onRecordScreenChanged(boolean enabled);

2.录屏控制了具体控制实现RecordScreenControllerImpl.java

package com.android.systemui.statusbar.policy;

import android.content.Context;
import android.os.UserHandle;
import android.content.Intent;
import com.android.internal.view.RotationPolicy;

import java.util.concurrent.CopyOnWriteArrayList;
import com.android.systemui.statusbar.policy.RecordScreenController;
import com.android.systemui.statusbar.policy.RecordScreenController.RecordScreenListener;
import android.util.Log;
import com.android.systemui.util.ScreenUtil;
import android.app.Application;
import com.android.systemui.ScreenRecordActivity;

/** Platform implementation of the rotation lock controller. **/
public final class RecordScreenControllerImpl implements RecordScreenController {
    private final String TAG = "RecordScreenControllerImpl";
    privat
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值