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 学习笔记 复制到剪切板|指纹使用 -> 正文阅读

[移动开发]Android 学习笔记 复制到剪切板|指纹使用

Android 学习笔记 复制到剪切板|指纹使用

复制到剪贴板

文本复制

/*
                         获取clipboard service句柄
                         */
                        ClipboardManager clipboard = (ClipboardManager)
                                context.getSystemService(Context.CLIPBOARD_SERVICE);
                        ClipData clip = ClipData.newPlainText("simple text", "你要复制的内容");
                        // 设置剪切板主要剪辑
                        clipboard.setPrimaryClip(clip);

其他使用方法使用

// 获取clipboard service句柄
ClipboardManager clipboard = (ClipboardManager)
        getSystemService(Context.CLIPBOARD_SERVICE);
 
// 复制文本
ClipData clip = ClipData.newPlainText("simple text", "Hello, World!");
 
// 创建Uri,本例中是联系人记录ID以及名称URI
private static final String CONTACTS = "content://com.example.contacts";
private static final String COPY_PATH = "/copy";
Uri copyUri = Uri.parse(CONTACTS + COPY_PATH + "/" + lastName);
 
// 复制URI对象。使用匿名getContentResolver()对象从provider中获取MIME类型
ClipData clip = ClipData.newUri(getContentResolver(), "URI", copyUri);
 
// 创建Intent
Intent appIntent = new Intent(this, com.example.demo.myapplication.class);
// 复制Intent对象,设置Intet
ClipData clip = ClipData.newIntent("Intent", appIntent);
 
// 设置剪切板主要剪辑
clipboard.setPrimaryClip(clip);

具体参考文档

指纹的简单使用

 回调方法如下,放到activity下
  FingerprintManager.AuthenticationCallback mSelfCancelled;
    {
        mSelfCancelled = new FingerprintManager.AuthenticationCallback()
        {
            @Override
            public void onAuthenticationError ( int errorCode, CharSequence errString )
            {
// 验证出错回调 指纹传感器会关闭一段时间,在下次调用authenticate时,会出现禁用期(时间依厂商不同30,1分都有)
                
                Toast.makeText(requireActivity(), errString, Toast.LENGTH_SHORT).show();
            }
            
            @Override
            public void onAuthenticationHelp ( int helpCode, CharSequence helpString )
            {
// 验证帮助回调
                Toast.makeText(requireActivity(), helpString, Toast.LENGTH_SHORT).show();
            }
            
            @Override
            public void onAuthenticationSucceeded ( FingerprintManager.AuthenticationResult result )
            {  //验证成功
                
                Toast.makeText(requireActivity(), "指纹识别成功", Toast.LENGTH_SHORT).show();
            }
            
            @Override
            public void onAuthenticationFailed ()
            {
// 验证失败  指纹验证失败后,指纹传感器不会立即关闭指纹验证,系统会提供5次重试的机会,即调用5次onAuthenticationFailed后,才会调用onAuthenticationError
                
                Toast.makeText(requireActivity(), "指纹识别失败", Toast.LENGTH_SHORT).show();
            }
        };
    }
    public void mida ( String string )
    {
        AlertDialog dialog = new AlertDialog.Builder(requireActivity())
                .setTitle("通知")//设置对话框的标题
                .setMessage(string)//设置对话框的内容
                //设置对话框的按钮
                .setPositiveButton("收到", ( dialog1, which ) -> dialog1.dismiss()).create();
        dialog.show();
    }
    
    
    /**
     * 设备条件判断
     * - 设备是否支持指纹识别
     * - 设备是否处于安全保护中(有指纹识别的手机,在使用指纹识别的时候,还需要强制设置密码或者图案解锁,如果未设置的话是不许使用指纹识别的)
     * - 设备是否已经注册过指纹(如果用户未使用过这个指纹技术,那么只能提示用户到系统设置里面去设置)指纹识别API调用
     */
    public boolean isFinger ()
    {
//判断当前手机版本
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
            
            if (ActivityCompat.checkSelfPermission(requireActivity(),
                    Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED)
            {
               mida("没有指纹识别权限");
                return false;
            }

//判断硬件是否支持指纹识别
        if (!manager.isHardwareDetected())
        {
            mida("没有指纹识别模块");
            return false;
        }
//判断 是否开启锁屏密码
        
        if (!mKeyManager.isKeyguardSecure())
        {
            mida("没有开启锁屏密码,无法进行登录验证");
            return false;
        }


//判断是否有指纹录入
        if (!manager.hasEnrolledFingerprints())
        {
            mida("没有录入指纹,无法进行登录验证");
            return false;
        }
        
        return true;
    }
    
使方法:使用方法:放到onCreate下
if (isFinger())
        {
            Intent intent = mKeyManager.createConfirmDeviceCredentialIntent("指纹验证", "认证以授权访问");
            if (intent != null)
            {
                startActivityForResult(intent, REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS);
            }
        }

最后通过onActivityResult 回调一下就行了

 @Override
    public void onActivityResult ( int requestCode, int resultCode, Intent data )
    {
        if (requestCode == REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS)
        {
            if (resultCode == Activity.RESULT_OK)
            {
                Toast.makeText(requireActivity(), "识别成功", Toast.LENGTH_SHORT).show();
            } else
            {
                Toast.makeText(requireActivity(), "识别失败", Toast.LENGTH_SHORT).show();
            }
        }
    }

使用的变量:

private final static int REQUEST_CODE_CONFIRM_DEVICE_CREDENTIALS = 0;

参考文档忘了在哪儿看了,抱歉

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-26 12:12:28  更:2021-07-26 12:13:38 
 
开发: 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年4日历 -2024/4/25 9:20:58-

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