首页 文章 精选 留言 我的

精选列表

搜索[计费相关],共10000篇文章
优秀的个人博客,低调大师

项目实战工具类(一):PhoneUtil(手机信息相关)

可以使用的功能: 1、获取手机系统版本号 2、获取手机型号 3、获取手机宽度 4、获取手机高度 5、获取手机imei串号 ,GSM手机的 IMEI 和 CDMA手机的 MEID. 6、获取手机sim卡号 7、获取手机号 8、判断sd卡是否挂载 9、获取sd卡剩余空间的大小 10、获取sd卡空间的总大小 11、判断是否是平板 12、判断一个apk是否安装 13、拨打电话 14、打开网页 15、获取应用权限 名称列表 16、获取手机内安装的应用 17、获取手机安装非系统应用 18、获取安装应用的信息 19、打开指定包名的应用 20、卸载指定包名的应用 21、手机号判断 工具类: 1 import java.io.File; 2 import java.util.ArrayList; 3 import java.util.HashMap; 4 import java.util.List; 5 import java.util.Map; 6 import java.util.regex.Matcher; 7 import java.util.regex.Pattern; 8 9 import android.content.Context; 10 import android.content.Intent; 11 import android.content.pm.ApplicationInfo; 12 import android.content.pm.PackageInfo; 13 import android.content.pm.PackageManager; 14 import android.content.pm.PackageManager.NameNotFoundException; 15 import android.content.pm.PermissionGroupInfo; 16 import android.content.pm.PermissionInfo; 17 import android.content.pm.ResolveInfo; 18 import android.content.res.Configuration; 19 import android.net.Uri; 20 import android.os.Environment; 21 import android.os.StatFs; 22 import android.telephony.TelephonyManager; 23 import android.util.TypedValue; 24 import android.view.WindowManager; 25 26 public class PhoneUtil { 27 private static PhoneUtil phoneUtil; 28 29 public static PhoneUtil getInstance() { 30 if (phoneUtil == null) { 31 synchronized (PhoneUtil.class) { 32 if (phoneUtil == null) { 33 phoneUtil = new PhoneUtil(); 34 } 35 } 36 } 37 return phoneUtil; 38 } 39 40 /** 41 * 获取手机系统版本号 42 * 43 * @return 44 */ 45 public int getSDKVersionNumber() { 46 int sdkVersion; 47 try { 48 sdkVersion = Integer.valueOf(android.os.Build.VERSION.SDK_INT); 49 } catch (NumberFormatException e) { 50 e.printStackTrace(); 51 sdkVersion = 0; 52 } 53 return sdkVersion; 54 } 55 56 /** 57 * 获取手机型号 58 */ 59 public String getPhoneModel() { 60 return android.os.Build.MODEL; 61 } 62 63 /** 64 * 获取手机宽度 65 */ 66 @SuppressWarnings("deprecation") 67 public int getPhoneWidth(Context context) { 68 WindowManager wm = (WindowManager) context 69 .getSystemService(Context.WINDOW_SERVICE); 70 return wm.getDefaultDisplay().getWidth(); 71 } 72 73 /** 74 * 获取手机高度 75 * 76 * @param context 77 */ 78 @SuppressWarnings("deprecation") 79 public int getPhoneHeight(Context context) { 80 WindowManager wm = (WindowManager) context 81 .getSystemService(Context.WINDOW_SERVICE); 82 return wm.getDefaultDisplay().getHeight(); 83 } 84 85 /** 86 * 获取手机imei串号 ,GSM手机的 IMEI 和 CDMA手机的 MEID. 87 * 88 * @param context 89 */ 90 public String getPhoneImei(Context context) { 91 TelephonyManager tm = (TelephonyManager) context 92 .getSystemService(Context.TELEPHONY_SERVICE); 93 if (tm == null) 94 return null; 95 return tm.getDeviceId(); 96 } 97 98 /** 99 * 获取手机sim卡号 100 * 101 * @param context 102 */ 103 public String getPhoneSim(Context context) { 104 TelephonyManager tm = (TelephonyManager) context 105 .getSystemService(Context.TELEPHONY_SERVICE); 106 if (tm == null) 107 return null; 108 return tm.getSubscriberId(); 109 } 110 111 /** 112 * 获取手机号 113 * 114 * @param context 115 */ 116 public String getPhoneNum(Context context) { 117 TelephonyManager tm = (TelephonyManager) context 118 .getSystemService(Context.TELEPHONY_SERVICE); 119 if (tm == null) 120 return null; 121 return tm.getLine1Number(); 122 } 123 124 /** 125 * 判断sd卡是否挂载 126 */ 127 public boolean isSDCardMount() { 128 if (android.os.Environment.getExternalStorageState().equals( 129 android.os.Environment.MEDIA_MOUNTED)) { 130 return true; 131 } else { 132 return false; 133 } 134 } 135 136 /** 137 * 获取sd卡剩余空间的大小 138 */ 139 @SuppressWarnings("deprecation") 140 public long getSDFreeSize() { 141 File path = Environment.getExternalStorageDirectory(); // 取得SD卡文件路径 142 StatFs sf = new StatFs(path.getPath()); 143 long blockSize = sf.getBlockSize(); // 获取单个数据块的大小(Byte) 144 long freeBlocks = sf.getAvailableBlocks();// 空闲的数据块的数量 145 // 返回SD卡空闲大小 146 return (freeBlocks * blockSize) / 1024 / 1024; // 单位MB 147 } 148 149 /** 150 * 获取sd卡空间的总大小 151 */ 152 @SuppressWarnings("deprecation") 153 public long getSDAllSize() { 154 File path = Environment.getExternalStorageDirectory(); // 取得SD卡文件路径 155 StatFs sf = new StatFs(path.getPath()); 156 long blockSize = sf.getBlockSize(); // 获取单个数据块的大小(Byte) 157 long allBlocks = sf.getBlockCount(); // 获取所有数据块数 158 // 返回SD卡大小 159 return (allBlocks * blockSize) / 1024 / 1024; // 单位MB 160 } 161 162 /** 163 * 判断是否是平板 164 */ 165 public boolean isTablet(Context context) { 166 return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; 167 } 168 169 /** 170 * 判断一个apk是否安装 171 * 172 * @param context 173 * @param packageName 174 */ 175 public boolean isApkInstalled(Context context, String packageName) { 176 PackageManager pm = context.getPackageManager(); 177 try { 178 pm.getPackageInfo(packageName, 0); 179 } catch (PackageManager.NameNotFoundException e) { 180 return false; 181 } 182 return true; 183 } 184 185 /** 186 * 拨打电话 187 * 188 * @param context 189 * @param phoneNum 190 */ 191 public void call(Context context, String phoneNum) throws Exception { 192 if (phoneNum != null && !phoneNum.equals("")) { 193 Uri uri = Uri.parse("tel:" + phoneNum); 194 Intent intent = new Intent(Intent.ACTION_DIAL, uri); 195 context.startActivity(intent); 196 } 197 } 198 199 /** 200 * 打开网页 201 */ 202 public void openWeb(Context context, String url) { 203 try { 204 Uri uri = Uri.parse(url); 205 context.startActivity(new Intent(Intent.ACTION_VIEW, uri)); 206 } catch (Exception e) { 207 e.printStackTrace(); 208 } 209 } 210 211 /** 212 * 获取应用权限 名称列表 213 */ 214 public String[] getAppPermissions(Context context) 215 throws NameNotFoundException { 216 PackageManager pm = context.getPackageManager(); 217 PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 218 PackageManager.GET_PERMISSIONS); 219 return getAppPermissions(packageInfo); 220 } 221 222 public String[] getAppPermissions(PackageInfo packageInfo) 223 throws NameNotFoundException { 224 return packageInfo.requestedPermissions; 225 } 226 227 /** 228 * 获取手机内安装的应用 229 */ 230 public List<PackageInfo> getInstalledApp(Context context) { 231 PackageManager pm = context.getPackageManager(); 232 return pm.getInstalledPackages(0); 233 } 234 235 /** 236 * 获取手机安装非系统应用 237 */ 238 @SuppressWarnings("static-access") 239 public List<PackageInfo> getUserInstalledApp(Context context) { 240 List<PackageInfo> infos = getInstalledApp(context); 241 List<PackageInfo> apps = new ArrayList<PackageInfo>(); 242 for (PackageInfo info : infos) { 243 if ((info.applicationInfo.flags & info.applicationInfo.FLAG_SYSTEM) <= 0) { 244 apps.add(info); 245 } 246 } 247 infos.clear(); 248 infos = null; 249 return apps; 250 } 251 252 /** 253 * 获取安装应用的信息 254 */ 255 public Map<String, Object> getInstalledAppInfo(Context context, 256 PackageInfo info) { 257 Map<String, Object> appInfos = new HashMap<String, Object>(); 258 PackageManager pm = context.getPackageManager(); 259 ApplicationInfo aif = info.applicationInfo; 260 appInfos.put("icon", pm.getApplicationIcon(aif)); 261 appInfos.put("lable", pm.getApplicationLabel(aif)); 262 appInfos.put("packageName", aif.packageName); 263 return appInfos; 264 } 265 266 /** 267 * 打开指定包名的应用 268 */ 269 public void startAppPkg(Context context, String pkg) { 270 Intent startIntent = context.getPackageManager() 271 .getLaunchIntentForPackage(pkg); 272 startIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 273 context.startActivity(startIntent); 274 } 275 276 /** 277 * 卸载指定包名的应用 278 */ 279 public void unInstallApk(Context context, String packageName) { 280 Uri uri = Uri.parse("package:" + packageName); 281 Intent intent = new Intent(Intent.ACTION_DELETE); 282 intent.setData(uri); 283 context.startActivity(intent); 284 } 285 286 /** 287 * 手机号判断 288 */ 289 public static boolean isMobileNO(String mobile) { 290 Pattern p = Pattern 291 .compile("^((145|147)|(15[^4])|(17[0-9])|((13|18)[0-9]))\\d{8}$"); 292 Matcher m = p.matcher(mobile); 293 return m.matches(); 294 } 295 296 }

优秀的个人博客,低调大师

京东公布机器人控制方法相关专利

爱企查 App 显示,京东科技信息技术有限公司于近日公布了“机器人控制方法、系统、设备、计算机可读介质和产品”专利。 摘要内容指出,本公开的实施例公开了机器人控制方法、系统、设备、计算机可读介质和产品。该方法的一具体实施方式包括:接收通信连接的机器人发送的图像数据流;根据上述图像数据流,生成重编码图像数据流;将上述重编码图像数据流发送至通信连接的头戴显示设备,以供上述头戴显示设备显示;接收上述头戴显示设备发送的位姿数据;根据上述位姿数据,生成对应上述机器人的控制量信息;将上述控制量信息发送至上述机器人,以供上述机器人控制进行运动。该实施方式与智能机器人有关,简化了设备,降低了设备成本和设备维度复杂度,提高了操作灵活性和精度,能够支持复杂操作,且提高了沉浸式体验效果。

优秀的个人博客,低调大师

中国移动申请 AI 数智人相关商标

天眼查知识产权信息显示,中国移动通信集团有限公司近日申请注册“中移智安麒”“中移安麒”商标,国际分类为通讯服务、科学仪器,当前商标状态均为等待实质审查。 根据介绍,作为中国移动自主研发的专家型数字员工,中国移动AI数智人安麒以大数据为基础、人工智能算法为驱动、安全专家知识为核心,具备自动化安全测试、个性化安全培训等功能。

优秀的个人博客,低调大师

iOS 17.4 测试版包含大模型相关代码

外界普遍预计苹果将在 6 月份通过 iOS 18 推出主要的新人工智能功能。不过根据 9to5Mac 的报道,他们在 iOS 17.4 第一个测试版中发现的代码表明,苹果正在开发由大语言模型技术支持的 Siri 新版本,并得到了其他来源的一些帮助。 所谓其他来源是指苹果似乎正在使用 OpenAI 的 ChatGPT API 进行内部测试,以帮助开发自己的 AI 模型。代码显示,iOS 17.4 包含一个新的 SiriSummarization 私有框架,可调用 OpenAI 的 ChatGPT API。由于苹果不太可能会在 iOS 18 正式版本中使用 ChatGPT 支持其 AI 功能,所以它更可能是在对自己的大模型进行内部测试,然后与 ChatGPT 的结果进行对照。 此外,SiriSummarization 框架包含多个系统提示次示例,比如“请总结”、“请回答这个问题”和“请总结给定的文本”之类的内容。 目前看来,iOS 17.4 代码表明苹果正在测​​试四种不同的人工智能模型。这包括之前报道过的苹果内部模型“Ajax”。并且 iOS 17.4 正在测试两个版本的 AjaxGPT,其中一种在设备上处理,另一种不在设备上处理——可能是在云端。 延伸阅读:苹果将大语言模型部署到设备本地

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册