android系统代码修改设备名称 安卓改设备名称
转载
1、 认识无所不在的类 GizWifiDevice.class
- 对于这个类,官方的文档如图上“简单”解释的!以鄙人的理解,可以大意这个意思:
- ①、这个GizWifiDevice类出来的对象,是包含一个对应着真实设备的任何信息,包括设备的Mac地址、产品名、PK和PS等。。。 你只要想获取到任何关于设备的信息,都可以从这个对象中获取。
- ②、最重要的是,这个设备是从GizWifiDevice类分配出来的,并不可以 new 哦!
- getRemark() :作用是获取设备的备注信息。设备绑定后可以修改,默认为空。返回类型String,返回是 设备的备注信息。
- getAlias() : 作用获取设备的别名。设备绑定后可以修改,默认为空。返回类型 String , 返回的是该设备在本地APP的别名,其他手机是无法看到的。
2、本节要说的“主角” :setCustomInfo() 方法 。
- 至于为什么要说setCustomInfo()方法是本节的主角呢?上面我们已经提到任何一个设备都是拥有getRemark() 与 getAlias() ,所以简单说:任何设备都是修改其 别名和备注信息。
- 所以,我们得知道这两个信息从哪个方法可以修改?没错!就是 setCustomInfo() 方法。下面是官方文档的解释,这已经非常清楚明了。我就不啰嗦了!
3、 具体代码如何修改别名。
- 为了简单明了如何修改!我这里就利用官网官方在今年三月份新推出的 “自动生成代码”功能,其生成的代码如下:
- 其实,官网的做法是在 一个弹窗Dialog 里面放两个文本编辑控件EditText,当用户点击时候,就获取其EditText里面的值,判断是否为空?再设置!
/**
* Description:设置设备别名与备注
*/
private void setDeviceInfo() {
final Dialog mDialog = new AlertDialog.Builder(this).setView(new EditText(this)).create();
mDialog.show();
Window window = mDialog.getWindow();
window.setContentView(R.layout.alert_gos_set_device_info);
final EditText etAlias;
final EditText etRemark;
etAlias = (EditText) window.findViewById(R.id.etAlias);
etRemark = (EditText) window.findViewById(R.id.etRemark);
LinearLayout llNo, llSure;
llNo = (LinearLayout) window.findViewById(R.id.llNo);
llSure = (LinearLayout) window.findViewById(R.id.llSure);
if (!TextUtils.isEmpty(mDevice.getAlias())) {
setEditText(etAlias, mDevice.getAlias());
}
if (!TextUtils.isEmpty(mDevice.getRemark())) {
setEditText(etRemark, mDevice.getRemark());
}
llNo.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mDialog.dismiss();
}
});
llSure.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(etRemark.getText().toString())
&& TextUtils.isEmpty(etAlias.getText().toString())) {
myToast("请输入设备别名或备注!");
return;
}
mDevice.setCustomInfo(etRemark.getText().toString(), etAlias.getText().toString());
mDialog.dismiss();
String loadingText = (String) getText(R.string.loadingtext);
progressDialog.setMessage(loadingText);
progressDialog.show();
}
});
mDialog.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
hideKeyBoard();
}
});
}
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。