NDK学习笔记(七) 系统配置、用户和组

1.系统配置

Bionic提供了一组函数允许原生应用程序查询徐彤属性。

需要头文件

#include <sys/system_properties.h>

每个系统属性都遵守不超过PROP_NAME_MAX个字符的属性名和不超过PROP_VALUE_MAX个字符的属性值。

(1) 通过名称获取系统属性值

    char value[PROP_VALUE_MAX];
	//如果属性没有定义,返回大小为0的值
    if (0 == __system_property_get("ro.product.model", value)) {

    } else {

        __android_log_print(ANDROID_LOG_INFO, "123321", "%s", value);
    }

效果
在这里插入图片描述

(2) 通过名称获取系统属性

    const prop_info *p;
    //获取ro.product.model系统属性
    p = __system_property_find("ro.product.model");
    if (NULL == p) {

    } else {

        char name[PROP_NAME_MAX];
        char value[PROP_VALUE_MAX];
        //获取系统属性名称和值
        if (0 == __system_property_read(p, name, value)) {

        } else {
            __android_log_print(ANDROID_LOG_INFO, "123321", "%s:%s", name, value);
        }
    }

效果
在这里插入图片描述

2.用户和组

Bionic为用户和组信息函数提供基本支持。
需要的头文件

在这里插入代码片

(1) 获取应用程序的用户和组ID

普通应用程序的用户ID和组ID都是从10000开始的;ID数值小的用于系统服务。

getuid() 用户id
getgid()  组id
__android_log_print(ANDROID_LOG_INFO, "123321", "%d:%d", getuid(), getgid());

效果

2020-04-05 16:48:25.825 13132-13132/com.example.testnt I/123321: 10069:10069

(2)获取应用程序用户名

已安装的应用程序都获取分配给用户的用户名。

    __android_log_print(ANDROID_LOG_INFO, "123321", "%s",getlogin());

效果

2020-04-05 16:52:42.705 13220-13220/com.example.testnt I/123321: u0_a69
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值