- 博客(96)
- 收藏
- 关注

原创 Android原生Gps获取定位
去年公司写东西用到了这个,然后遗忘了,今年又来一波这个功能整理一下吧。老样子,拷贝可用!!!首先是工具类:GPS定位public class GPSLocation implements LocationListener { private GPSLocationListener mGpsLocationListener; public GPSLocation...
2019-10-17 17:34:15
8603
31

原创 Double类型加减乘除运算
public class MathDoubleUtil { private static final int DEF_DIV_SCALE = 10; /** * 格式化,double保留两位小数 * @param d2 * @return */ public static String format(Double d2) { ...
2019-01-08 10:02:56
16947
1
原创 SFTP上传和下载
sftp.put(localFile本地文件, remotePath上传文件, new MyprogressMonitor());sftp.get(remoteFileName服务器文件名, localPath本地文件名, new MyprogressMonitor());sshSession = jsch.getSession(username用户名, host地址, port端口);sftp.cd(remotePath下载服务器文件夹);("文件下载中:" + transfered);
2023-04-19 15:18:03
814
原创 FTP上传下载
loginClient.download(fileName, new File("下载文件夹地址" + fileName), new MyTest1Listener());b = client.storeFile(上传目标文件夹 + "/" + 文件名称, srcFileStream);("上传中:"+totalBytesTransferred+" byte")File file = new File("本地文件路径");("文件下载中:" + downSize + "byte")
2023-04-19 15:08:50
707
原创 Android12(SDK31)通知栏通知报错问题
java.lang.IllegalArgumentException: com.ibptadb: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.报错写的清楚明了,就是SDK31版本的问题,然后网上一搜索是在Android12中待处理的PendingIntent必须声明可变性。......
2022-07-13 11:15:20
3210
2
原创 Android12(SDK31)中exported的变化
SDK31报错,SDK30正常运行,错误如下:Installation did not succeed.The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMEDInstallation failed due to: 'null'
2022-07-13 11:07:25
1083
原创 判断WIFI打开关闭,飞行模式打开关闭
//飞行模式打开与关闭int isAirplaneMode = Settings.System.getInt(context.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,0);//0关闭,1开启Log.e("motejia", "onCreate: ++++FLY+++++"+isAirplaneMode );//WIFI模式的打开与关闭ConfigTest.flyStatus = isAirplaneMode;WifiMana.
2022-04-21 14:52:42
1914
原创 判断手机是否为鸿蒙系统
现在华为更新了鸿蒙,今天搜了一波是否为鸿蒙,记录一下。String manufacturer = getDeviceManufacturer();//是否为华为和手机系统是否大于Android10if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && manufacturer.equals("HUAWEI")){ boolean harmonyOs = isHarmonyOs(); if(harmonyOs){
2021-10-21 11:32:24
4942
原创 读取文件内容
首先读写文件权限得有。直接上代码private String readFromXml(String filePath) { FileInputStream fileInputStream; BufferedReader bufferedReader; StringBuilder stringBuilder = new StringBuilder(); File file = new File(filePath); if (file.exists()) {
2021-09-07 09:35:51
196
原创 UiAumator中的一些基本方法和操作总结
最近负责了一个UiAutomator的项目,来总结一些日常用到的方法。1.deviece对象,UiAumator执行必须要用到的UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());2.点击,x,y横纵坐标uiDevice.click(x,y)3.滑动,x,y开始和结束坐标,滑动时间uiDevice.swipe(startX,startY,endX,endY,s
2021-07-23 10:08:37
573
原创 手机IP获取
今天要整之前代码的ip地址获取不对,看了一下网上都是ipv6地址获取,贴一个呗。String ip;//获取上下文Context mContext = InstrumentationRegistry.getTargetContext();ConnectivityManager conMann = (ConnectivityManager) mContext.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE)
2021-06-16 17:23:12
209
原创 清单文件获取App版本
在清单文件中设置App版本号如何获取:1.清单文件设置版本号<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.motejia.scripttest" android:versionName="2021.04.26" ></manifest>2.在Activity中调用://获取手机版本fun getPackageInfo(co
2021-04-26 09:49:42
232
原创 Android固定帧率录屏
最近搞了一个固定的帧率录屏的软件,硬生生把我一个对这一块的小白搞成了对这一块有深刻理解的人。上代码:1.录屏类:public class MyShoter implements Runnable { private static final String TAG = MyShoter.class.getSimpleName(); private static final String VIDEO_MIME_TYPE = "video/avc"; private st
2021-03-26 14:56:20
3075
2
原创 Android 11(R)存储权限
Android11 更新了新的存储权限分区存储,其中Android10 时候也对存储权限做了更新android:requestLegacyExternalStorage="true"当我们升级到Android11时候,首先在清单文件中的application声明:android:requestLegacyExternalStorage="true"android:preserveLegacyExternalStorage="true"//升级保留旧版存储权限然后在声明权限:<us
2021-03-12 15:37:56
4380
原创 Android 11(R)获取包名
之前的获取包名操作过时了,获取不到包名,只能获取到本应用和系统应用,在Android10上好用,但是最近更新了11,测试找我说获取不到了,我一脸蒙。这咋改,上网搜起来。清单文件中添加一句话:<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>...
2021-03-11 16:43:49
810
原创 使用Drawable绘制圆角矩形
好久没写布局,突然之间需要写一个,为了美化要进行对四边的圆角处理,自定义一个圆角矩形不值得,于是翻了翻之前的代码,操作一波。1.在Drawable文件夹下创建一个文件:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"><!-- 填充色--> <solid android:color=
2021-01-29 14:45:03
1331
原创 压缩文件到指定文件夹工具类
/** * 压缩文件夹 生成压缩文件 * * @author aaa * */public class ZipFile { /** * * @param filePath * 压缩文件夹的路径 */ public static void zipFile(String filePath) { Log.e("开始压缩文件", System.currentTimeMillis() + ""); Stri.
2021-01-15 14:41:48
322
原创 Android 定时获取上下行流量数据
使用Service监听上下行流量数据老样子,直接上东西public class FlowService extends Service { private long mCurrentUP=0;//当前手机的上行流量 private long mCurrentDOWN=0;//当前手机的下行流量 private long mLastUP=0;//上次手机的上行流量 private long mLastDOWN=0;//上次手机的下行流量 /
2021-01-06 10:41:26
1411
原创 Android 通过PhoneStateListener拿到5G信号值
通过监听PhoneStateListener去获取5G的信号值,只示范华为手机,其他的手机同理。public class MyPhoneMessage extends PhoneStateListener{ @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { super.onSignalStrengthsChanged(signalStrength);
2021-01-04 10:26:54
3749
8
原创 Android获取5G信息
Android在NR情况下获取5G的rsrp,rsrq和ssnr,pci和ci值。TelephonyManager tm = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { //5G
2020-12-25 15:49:43
4117
17
原创 Android 冷启动加沉浸式状态栏
打开app的时候总会有一段时间白屏,为了美观加入了冷启动操作,就是用一张图片代替启动的白屏。1.在style里面定义一个theme<style name="AppTheme" parent="android:Theme.DeviceDefault.Light.NoActionBar"> <!-- All customizations that are NOT specific to a particular API-level can go here. -->
2020-11-27 21:41:53
480
原创 根据手机屏幕宽高算出当前位置比例
UiAutomator有一个会显示XY的坐标,该工具类通过当前的XY坐标来确定其在这个屏幕的宽高比,之后的所有类型手机都根据宽高比例进行设置。/** * 根据屏幕宽高进行点击 */public class GetScreenWH { //传入横纵坐标点 private int eWidth = 0; private int eHeight = 0; public String TAG = "motejia"; public GetScreenWH(int
2020-11-13 10:21:34
585
原创 Android高版本Service在后台一分钟被杀死
最近公司出现了一个Bug,Service在后台写log时候一分钟左右被杀死,或者运行一会就被杀死了,上网搜了一下原来是Android高版本为了保护电量,流量什么的,会在后台杀死这些Service,现在我的做法是在通知栏加一条通知,让他保证Service存活。上代码,在Service的onCreate方法里写:private String notificationId = "serviceid";private String notificationName = "servicename";pr
2020-10-30 09:59:03
2490
原创 Android配置Appium-Desktop版本及在Android Studio中运行
首先我是个Android开发,Android SDK和Java环境已配置完成配置一下Java home,Android home,Path,ClassPath这些东西,网上有好多。然后下载一个node.js环境:(建议使用长期支持版)https://nodejs.org/zh-cn/下载好了狂点,然后windows+R,输入node -v查看版本。之后下载Appium-Deskop:https://github.com/appium/appium-desktop/release.
2020-10-26 10:43:36
680
原创 kotlin版BaseFragment
abstract class BaseFragment : Fragment(){ companion object{ var popupWindow : PopupWindow ?= null } var dialog : ProgressDialog ?= null override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: .
2020-09-16 10:30:11
956
原创 Kotlin版BaseActivity
abstract class BaseActivity : FragmentActivity() { private var dialog : ProgressDialog ?= null var mHandler : Handler ?= null private var sUncaughtExceptionHandler : Thread.UncaughtExceptionHandler ?= null private var file : File ?= null .
2020-09-15 16:39:12
1103
原创 Kotlin写一个基类Application
最近又开始了Kotlin的学习,今天写一个BaseActivity,包括公共的context,然后kotlin获取包名,进程名,版本名称class myApplication: Application(){ //声明公共变量和java中public static一样 companion object{ var context: Context ?= null } override fun onCreate() { super.onCrea
2020-09-14 14:26:42
904
原创 PhoneStateListener高版本获取不到来电手机号问题
都是网上提到的这个PhoneStateListener类,没啥区别,唯一注意的就是写的代码要在super之后private class MyPhoneStateListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { // TODO Auto-generated method stub supe.
2020-09-01 18:20:57
1183
2
原创 Android高版本无法挂断电话问题
今天接到一个之前的功能,现在要拿出来看一看能不能用。打电话接到挂断,在网上搜了半天,自己的代码看了半天也就两种。第一种try { Method method = Class.forName("android.os.ServiceManager") .getMethod("getService", String.class); IBinder binder = (IBinder) method.invoke(null, new Object[]{Context
2020-09-01 18:16:00
1207
3
原创 花里胡哨系列之-----------------------------点击带动画效果的底部导航,图片文字
最近看GitHub上面有一个开源的库,是一个带动画效果的底部导航,不点击的时候是一个图片,点击就会出现图片加文字的效果。下面是GitHub地址:https://github.com/gauravk95/bubble-navigation本人自己写了一个小Demo:源码附上1.导入依赖:implementation 'com.gauravk.bubblenavigation:bubblenavigation:1.0.7'2.首先是Activity部分:public c.
2020-08-18 09:39:12
463
原创 复制文件到指定文件夹
最近尝试了一下复制文件到指定文件夹中,但是指定文件复制到.zip文件夹中会抛出异常,暂时没有解决。只能复制文件到指定文件夹里然后再进行压缩这种操作。下面整上工具类,复制单个文件亲测好使:public class CopyFileUtils { /** * * @param fromFile 选择要复制的文件名 /sdcard/666.mp4 * @param toFile 把文件复制到的指定的地方(要写复制到文件夹后的文件名) /sdcard/exampl
2020-08-06 09:27:11
501
原创 关于Android 10的getNetWorkType获取不到网络类型解决办法
最近被一个问题苦恼了好久,Android Q情况下获取不到手机当前的网络类型,之前的getNewWorkType不好使了,把telephonyManager这个类源码看到底也就看到了俩方法getDataNetWorkType(尝试后MIUI12获取不到),另一个getNetWorkTypeName被源码@hide了,也凉了。没办法只能去另找别的方法了看了一个可以通过ConnectivityManager.getAllNetWorkInfo去获取,但是没有尝试。找到了一个但是是注释的,不知道SDK多会就不
2020-07-30 14:51:20
8387
8
原创 日期选择前后一周,日,年,月
之前做了一个小Demo,选择一个日期后,按前进向前一周,按后退向后一周,同理还有日,月,年的,自己在那算了好几个小时,在网上也没找到好一点的demo,今天贴出来,以后开发粘贴复制即可。上货!!!需要用到的三方依赖:implementation 'com.contrarywind:Android-PickerView:4.1.9'代码MainActivity:public class Main2Activity extends AppCompatActivity { priv
2020-07-07 15:43:29
224
原创 关于Android Q对于读写权限做的新的操作
内心mmp,改了一天多的bug好,来正文。之前所做的读写权限只需要在清单文件中加入write和read权限,然后再动态的申请一下即可,然而android10并不好使,当然只是针对一些android10的机型的,那么如何操作呢?在你的清单文件中的application里加一句话android:requestLegacyExternalStorage="true"好使了,不过好像会有问题,暂时没发现,不过这个读写的操作是可以了。...
2020-06-04 08:57:10
402
原创 BroadCaseReceiver使用,动态注册,在项目中调用
今天写一个BroadCaseReceiver在项目中的使用,BroadCaseReceiver删除文件夹中所有文件的操作。首先在你的Activity中注册你的BroadcaseReceiver,在android7.0之后,BroadCaseReceiver静态注册是收不到广播的,别踩坑!public BRClearUeLog clearUeLog;if (clearUeLog == null) { clearUeLog = new BRClearUeLog();...
2020-06-04 08:52:12
301
原创 极光推送快速集成篇
1.首先导入依赖: //极光推送 implementation 'cn.jiguang.sdk:jpush:3.1.1' implementation 'cn.jiguang.sdk:jcore:1.1.9'2.在你项目的build.gradle中defaultConfig { applicationId "极光推送注册的包名" minSdkVersion 18 targetSdkVersion 28 vers...
2020-06-04 08:38:56
363
原创 图片压缩工具类
图片压缩有很多方式第一种,推荐使用一款三方的PictureSelector源码地址https://github.com/wildma/PictureSelector// 进入相册 以下是例子:用不到的 api 可以不写PictureSelector.create(MainActivity.this).openGallery()//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo().theme()//主题样式(不设置为默认.
2020-06-02 18:28:49
787
原创 关于Android Q中位置权限ACCESS_BACKGROUND_LOCATION
在Android Q版本Android进行了许多更新和变化,例如手机的IMSI等一些硬件信息拿不到,还有就是后台启动Activity,存储权限等。今天着重来讲一下Android Q的定位权限。在Android Q之前的版本,定位权限只需要添加两个权限ACCESS_FILE_LOCATION和ACCESS_COARSE_LOCATION即可获取位置,但是在Android Q版本不行,需要动态...
2020-05-06 18:07:15
14102
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人