该功能库为android 7.1.2 智能终端常用功能的集合
src/main/java-public 应用程序代码 <br/>
/res-public 应用程序资源路径 <br/>
/jni-libs-public 应用程序引用的native libs 路径 <br/>
/java-utils 工具功能常用代码 <br/>
/res-utils 工具功能资源路径
/jni-source-utils native 源码 <br/>
BTUtil.java
AESEncryptUtil.java
BlurBuilder.java
CameraUtils.java
CRC16.java
Hex.java HexDump.java
HttpsUtils.java
HttpLogger.java
HttpLoggingInterceptor logInterceptor = new HttpLoggingInterceptor(new HttpLogger());
logInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder()
.cookieJar(cookieJar)
.addInterceptor(new HttpLogInterceptor(true))
.addNetworkInterceptor(logInterceptor)
.build();
HttpApi.setClient(client);
HttpApi.setDebug(true);
Logger.e("here");
Logger.i("here");
Logger.i("here----");
PermissionHelper.java
SettingHelper.java
HttpApi.java
ImmerseUtil.java
ShellUtils.java
WiFiUtil.java
Validator.java
RandomUtils.java
UpdateUtil.java
Notify.java
PhoneInfo.java
CameraUtils.java
CameraSufaceView.java
DotsTextView.java // 贝塞尔曲线实现的等待点动画, BeizerEvaluator.java // 贝塞尔曲线计算工具
MySwipeDismissBehavior.java
ExpandableRecyclerViewAdapter.java
WebViewFragment.java
CrashHandler.java
LoadingDialog.java MsgDialogUtil.java
GangeView.java
RadarView.java
安卓11 之后 manifest 根节点下需要添加:
<queries>
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
</queries>
SelectPictureGridView.java
SelectOnePicture.java
StaturationView.java
BottomListDialog.java
DragLeft2RightExitFrameLayout.java
CircleImageView.java
LabelView.java
// 全双工,通常用法
new SerialPort(new File("/dev/ttyS0"), 9600, 0, null);
// 收发前需要额外使能某个节点的用法
String enable = "/dev/gpio68"; // 手动使能某个节点 system(echo 1 > /dev/gpio68)
new SerialPort(new File("/dev/ttyS0"), 9600, 0, enable);
// ----------------------详细说明 ---------------
程序读发送寄存器,保证发送完成后,再使能接收
如果内核有gpio的驱动则使用ioctl
如果内核没有驱动则使用system(echo > 1 /sys/class/gpio/value)来设置
如果带有自动转换的芯片,则使能路径传null (大多数情况下,成品设备都是这种情况)
该功能与 RS485SerialPortUtilNew.java 的区别是,该类只读。
使用 SerialInputOutputManager.java, 复制自:https://github.com/mik3y/usb-serial-for-android
该功能需要修改android代码, 具体方式见 /framework-modify/动态控制显示隐藏导航栏和状态栏/
// 隐藏导航栏及状态栏
sendBroadcast(new Intent("android.intent.action.HIDE_NAVIGATION_BAR"));
sendBroadcast(new Intent("android.intent.action.HIDE_STATUS_BAR"));
// 显示导航栏及状态栏
sendBroadcast(new Intent("android.intent.action.SHOW_NAVIGATION_BAR"));
sendBroadcast(new Intent("android.intent.action.SHOW_STATUS_BAR"));
一次请求单个或多个权限
// 1. 申请的权限必须先在manifest中配置, 否则申请结果总是失败
// 2. ACCESS_FINE_LOCATION 权限包含 ACCESS_COARSE_LOCATION 粗略定位权限
// 3. 按照权限请求顺序进行申请,遇到失败则返回,之后权限则处于未申请状态: -1
String permissions[] = new String[]{ Manifest.permission.CAMERA, Manifest.permission.READ_CONTACTS, Manifest.permission.ACCESS_FINE_LOCATION};
int requestCode = 7777;
PermissionHelper.request(TCMainActivity.this, permissions, requestCode,new PermissionHelper.Callback(){
@Override
public void onResult(int requestCode, String[] permissions, int[] grantResult) {
if(PackageManager.PERMISSION_GRANTED == grantResult[0]){
// 第一个权限 android.permission.CAMERA 授权成功
}
// 授权结果
Toast.makeText(TCMainActivity.this, "请求权限:" +Arrays.toString(permissions) + " 授权结果:" + Arrays.toString(grantResult), Toast.LENGTH_LONG).show();
}
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。