Android 学习笔记 复制到剪切板|指纹使用
Posted 亡灵丶小尘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
参考文档忘了在哪儿看了,抱歉
以上是关于Android 学习笔记 复制到剪切板|指纹使用的主要内容,如果未能解决你的问题,请参考以下文章
js复制内容到剪切板,兼容pc和手机端,支持Safari浏览器