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;

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓尘同志

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值