IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android-系统服务-ClipboardManager -> 正文阅读

[移动开发]Android-系统服务-ClipboardManager

需求

需求1:写入剪切板

需求2:读取剪切板

需求3:监视剪切板状态


接口

ClipboardManager ?|? Android Developers

java.lang.Object
? ???? ?android.text.ClipboardManager
??? ? ? ??? ?android.content.ClipboardManager

  • Public methods
    • public void setPrimaryClip (ClipData clip)
    • public void setText (CharSequence text)
    • public ClipData getPrimaryClip ()
    • public CharSequence getText ()
    • public boolean hasPrimaryClip ()
    • public ClipDescription getPrimaryClipDescription ()

ClipData ?|? Android Developers

java.lang.Object
? ???? ?android.content.ClipData

  • Public methods
    • public static ClipData newPlainText (CharSequence label, CharSequence text)

ClipDescription ?|? Android Developers

java.lang.Object
? ???? ?android.content.ClipDescription

  • Public methods
    • public boolean hasMimeType (String mimeType)

ClipData.Item ?|? Android Developers

java.lang.Object
? ???? ?android.content.ClipData.Item

备注:复制和粘贴 ?|? Android 开发者 ?|? Android Developers


权限

AndroidManifest.xml - OpenGrok cross reference for /frameworks/base/core/res/AndroidManifest.xml

5557?    <!-- @hide Permission that allows background clipboard access.
5558?         <p>Not for use by third-party applications. -->
5559?    <permission android:name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"
5560?        android:protectionLevel="signature" />
5767?    <!-- @SystemApi Allows the holder to set the source of the data when setting a clip on the
5768?         clipboard.
5769?         @hide -->
5770?    <permission android:name="android.permission.SET_CLIP_SOURCE"
5771?                android:protectionLevel="signature|recents" />

示例

package com.learn_android.clipboard;

import android.content.ClipData;
import android.content.ClipboardManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText et_write = null;
    private TextView tv_read = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        et_write = (EditText) findViewById(R.id.et_write);
        tv_read = (TextView) findViewById(R.id.tv_read);

        Button btn_clip_write = (Button) findViewById(R.id.btn_clip_write);
        Button btn_clip_read = (Button) findViewById(R.id.btn_clip_read);

        btn_clip_write.setOnClickListener(this);
        btn_clip_read.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn_clip_write:
                onClickClipWrite();
                break;
            case R.id.btn_clip_read:
                onClickClipRead();
                break;
            default:
                ;
        }
    }

    private void onClickClipWrite() {
        String msg = et_write.getText().toString();
        ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
        ClipData clipData = ClipData.newPlainText("msg", msg);
        clipboardManager.setPrimaryClip(clipData);
        Toast.makeText(this, "写入完成", Toast.LENGTH_SHORT).show();
    }

    private void onClickClipRead() {
        ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
        ClipData clipData = clipboardManager.getPrimaryClip();
        ClipData.Item item = clipData.getItemAt(0);
        tv_read.setText(item.getText().toString());
        Toast.makeText(this, "读取完成", Toast.LENGTH_SHORT).show();
    }

}

参考资料

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:21:45  更:2022-03-11 22:23:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 19:11:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码