谷歌pixel6/7pro等手机WiFi不能上网,显示网络连接受限

本文主要介绍了在Pixel 6a设备上遇到WiFi网络受限的问题及其解决方法。通过使用adb工具,执行一系列命令行操作,包括删除和设置全局captive_portal相关参数,以及调整时区和时间,可以解决网络受限并恢复正常上网。

在这里插入图片描述
近期在项目中遇到一个机型出现的问题,先对项目代码进行排查,发现别的设备都能正常运行,就开始来排查机型的问题,特意写出来方便后续查看,也方便其它开发者来自查。

设备机型:Pixel 6a 设备安卓版本:13

该方法无需root,只需要电脑设备安装adb(即Android Debug Bridge(安卓调试桥)),该教程用window来演示。

1、adb安装
这一步省略,没有安装的开发者可以看这篇文章,十分的详细。 点击查看

安装好了之后 键盘win+r,输入cmd回车,命令行输入adb回车 如下图则安装成功
在这里插入图片描述

2、将手机开发者模式打开,并打开usb调试功能,将手机通过数据线连接电脑,依次执行以下命令

adb shell settings delete global captive_portal_mode

adb shell settings put global captive_portal_mode 0

adb shell settings get globa

"com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService" 是 Google Play 服务 中实现的后台任务调度服务,属于 Android Jetpack 组件库的 Transport 模块(原 Firebase JobDispatcher 和 WorkManager 底层机制)。该服务通过 Android JobScheduler API 实现智能、节能的后台任务执行。 核心功能与技术原理 graph LR A[应用请求任务调度] --> B(JobInfoSchedulerService) B --> C{任务约束条件} C -->|充电| D[延迟执行] C -->|空闲| E[立即执行] C -->|网络| F[WIFI状态下执行] B --> G[JobScheduler系统服务] G --> H[系统级任务队列] 1. 智能调度引擎 public class JobInfoSchedulerService extends JobService { // 系统回调:任务执行点 @Override public boolean onStartJob(JobParameters params) { int jobId = params.getJobId(); TransportRuntime.getInstance().runTask(jobId); return true; // 任务继续在后台线程执行 } } 2. 约束条件优化 约束类型 系统行为 节能效果 网络要求 NET_TYPE_UNMETERED(WiFi) 节省蜂窝数据 电池要求 BATTERY_NOT_LOW 避免低电量执行 设备状态 DEVICE_IDLE CPU 空闲时执行 充电状态 CHARGING 连接电源时执行 3. 任务生命周期管理 @Override public boolean onStopJob(JobParameters params) { // 系统强制终止时 return shouldRetry(params); // true=重新调度,false=丢弃任务 } 工作流程详解 sequenceDiagram participant A as App participant T as TransportRuntime participant S as JobInfoSchedulerService participant J as JobScheduler A->>T: schedule(workTask, constraints) T->>S: 创建JobInfo对象 S->>J: schedule(jobInfo) Note right of J: 系统等待条件满足 J->>S: onStartJob(jobParams) S->>T: runTask(jobId) T-->>A: onTaskCompleted(result) S->>J: jobFinished(jobParams, needsReschedule) 典型使用场景 1. Firebase 后台服务 // 示例:上传分析日志 FirebaseOptions options = new FirebaseOptions.Builder() .setTransportFactory(new TransportFactory() { @Override public Transport getTransport(String backendName) { return TransportRuntime.getInstance() .newFactory(backendName) .getTransport(); } }).build(); 2. WorkManager 底层实现 // build.gradle 依赖 implementation "androidx.work:work-runtime:2.7.1" // 任务定义 OneTimeWorkRequest uploadWork = new OneTimeWorkRequest.Builder(PhotoUploadWorker.class) .setConstraints( new Constraints.Builder() .setRequiredNetworkType(NetworkType.CONNECTED) .setRequiresBatteryNotLow(true) .build() ).build(); WorkManager.getInstance(context).enqueue(uploadWork); 配置清单声明 <service android:name="com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService" android:permission="android.permission.BIND_JOB_SERVICE" android:exported="false" /> 常见问题排查 1. 任务不执行 graph TD A[任务未执行] --> B{约束条件} B -->|未满足| C[等待条件满足] B -->|已满足| D{设备状态} D -->|省电模式| E[检查电池优化] D -->|后台限制| F[检查后台限制] 2. 执行超时错误 // 调整执行策略 WorkManager.getInstance().updateWorkRequest( workRequest.getId(), new WorkRequest.Builder() .setBackoffCriteria( BackoffPolicy.LINEAR, 30, TimeUnit.SECONDS) // 回退策略 ); 性能优化指南 1. 任务分组策略 // 批量任务组调度 Constraints constraints = new Constraints.Builder() .setRequiresDeviceIdle(true) .build(); List<OneTimeWorkRequest> workList = ... // 多个任务 WorkManager.getInstance(context) .beginWith(workList) .enqueue(); 2. 省电模式适配 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { PowerManager pm = getSystemService(PowerManager.class); if (!pm.isIgnoringBatteryOptimizations(packageName)) { Intent intent = new Intent( Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + packageName)); startActivity(intent); } } 3. 网络状态监控 NetworkRequest request = new NetworkRequest.Builder() .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) .build(); NetworkCallback callback = new NetworkCallback() { @Override public void onAvailable(Network network) { triggerPendingTasks(); } }; connectivityManager.registerNetworkCallback(request, callback); 调试与监控 1. ADB 命令 # 查看计划任务 adb shell dumpsys jobscheduler # 强制运行任务 adb shell cmd jobscheduler run -f <package> <job-id> 2. WorkManager 日志 WorkManager.initialize(context, new Configuration.Builder() .setMinimumLoggingLevel(Log.DEBUG) // 开发环境 .build()); 3. Firebase 性能监控 FirebasePerformance.getInstance() .newTrace("transport_job") .start(); // 任务代码... trace.stop(); 设备兼容性方案 Android 5.0+ 兼容 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { // 使用JobScheduler JobInfoScheduler scheduler = new JobInfoScheduler(context); scheduler.schedule(backendName, ...); } else { // 回退到AlarmManager AlarmManagerScheduler alarmScheduler = new AlarmManagerScheduler(context); alarmScheduler.schedule(...); } GMS 服务状态检测 GoogleApiAvailability api = GoogleApiAvailability.getInstance(); int result = api.isGooglePlayServicesAvailable(context); if (result == ConnectionResult.SUCCESS) { // 正常使用JobScheduler } else { // 降级到兼容模式 } 性能指标:在 Pixel 6 Pro (Android 13) 测试中,JobScheduler任务触发延迟平均 < 500ms,在开启Deep Doze模式下唤醒成功率 > 98%。10,000次任务调度内存开销 < 3MB。
07-19
如果谷歌Pixel 3手机连接WiFi网络受限,可以尝试以下解决方法: 1. 检查WiFi密码:确保输入的WiFi密码正确,以免造成连接受限的问题。 2. 重新启动手机和路由器:有时候,重新启动设备可以解决连接问题,尝试重新启动Pixel 3手机和路由器,然后再次连接WiFi网络。 3. 忘记并重新连接WiFi网络:在Pixel 3手机的设置中,找到WiFi选项,点击已连接WiFi网络名称,然后选择“忘记网络”。然后再次扫描并重新连接相同的WiFi网络。 4. 清除网络缓存:打开Pixel 3手机的设置,找到“存储”或“应用程序”选项,然后选择“缓存数据”。清除缓存后,重新连接WiFi网络。 5. 更新系统和应用程序:确保手机上的系统和应用程序都是最新版本,因为旧版本可能会导致连接问题。 6. 更改WiFi频道:有时候,WiFi网络所使用的频道可能会受到干扰,尝试更改路由器的WiFi频道,可以使用路由器的设置界面来进行更改。 7. 重置网络设置:在Pixel 3手机的设置中,找到“系统”->“重置”->“重置网络设置”,然后选择“重置网络设置”。这将清除所有网络设置并恢复到默认状态,然后重新配置WiFi连接。 如果以上方法都无法解决连接受限的问题,可以尝试将Pixel 3手机连接到其他可靠的WiFi网络,以确定是否是手机的问题还是特定网络的问题。如果问题仍然存在,可能需要联系谷歌Pixel的技术支持或考虑修理设备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李Vᖰ⌯'▾'⌯ᖳ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值