android_基础_Android9.0以上的网络请求配置

转载自:https://blog.csdn.net/weixin_44547418/article/details/105802260

关于Android9.0以上的网络请求配置

详情可以参考官网https://developer.android.com/training/articles/security-config#manifest

关于有些人的手机,系统是比较新的,所以在做Android项目的时候是无法使用网络请求的,因为新版本默认是不允许使用明文网络传输的,会被系统禁止掉,为了能方便使用,所以今天就给大家讲一讲关于Android9.0以上的网络请求配置。(PS:此方法是上课内容,我重新理解一遍)

第一步:先运行一下项目,看看有没有报错,如果有就是网络请求问题,就要请求配置网络。

报错:CLEARTEXT communication to 10.0.2.2 not permitted by network security policy

第二步:添加配置目录,首先弄一个目录(看图1),在res里New一个Folder里面的XML目录,点击XML之后弹出一个框,点击Finish按钮,会出现一个叫XML目录,然后在XML目录里New一个XMLResourceFile(看图2),然后写上文件名(随便你命名,我是命名network_security_config)。

图1:
在这里插入图片描述

图2:
在这里插入图片描述

第三步:写配置代码,代码有两种方法。

代码:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
    <!--开发中可以考虑使用-->
    <!--Android API 28 及以上 关闭HTTPS服务器监测-->
    <base-config cleartextTrafficPermitted="true" />
    
    <!--实际部署后只放开自己的服务端地址-->
    <!--只将本服务XXX.XXX.XXX.XXX器放开-->
    <!--    <domain-config cleartextTrafficPermitted="true">-->
    <!--        <domain includeSubdomains="true">XXX.XXX.XXX.XXX</domain>-->
    <!--    </domain-config>-->
	</network-security-config>

第四步:写好之后,就去打开安卓的AndroidManifest文件,在里面配置(我是把代码放到application标签里面)。

配置代码是:

android:networkSecurityConfig="@xml/network_security_config"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 9.0 中,如果电池温度过高,系统会自动发出警告并关闭应用程序。如果您想要自定义电池温度异常的提醒,可以使用以下步骤: 1. 创建一个 BroadcastReceiver 类并实现 onReceive 方法。 2. 在 onReceive 方法中,检查 Intent 是否为 ACTION_BATTERY_CHANGED,并获取温度值。 3. 如果温度值超出您的设定范围,您可以使用 NotificationManager 发送一个自定义通知提醒用户。 以下是一个示例代码: ``` public class BatteryTemperatureReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) { int temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0); if (temperature > 400 || temperature < 0) { sendNotification(context, temperature); } } } private void sendNotification(Context context, int temperature) { NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "temp_alert") .setSmallIcon(R.drawable.ic_warning) .setContentTitle("电池温度异常") .setContentText("当前电池温度为 " + temperature / 10 + "℃") .setPriority(NotificationCompat.PRIORITY_HIGH); NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context); notificationManager.notify(1, builder.build()); } } ``` 在 AndroidManifest.xml 文件中注册 BroadcastReceiver: ``` <receiver android:name=".BatteryTemperatureReceiver"> <intent-filter> <action android:name="android.intent.action.BATTERY_CHANGED" /> </intent-filter> </receiver> ``` 然后在您的应用程序中,您需要请求 ACCESS_NOTIFICATION_POLICY 权限,以便您的应用程序可以发送通知: ``` <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" /> ``` 请注意,这只是一个示例代码,您需要根据自己的需求进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值