Solidot 公告
文章提交注意事项:
请在发布文章时用HTML代码加上至少一条新闻来源的链接;原创性消息,可加入相关信息(如涉及公司的网址)的链接。有任何问题,邮件至:he.fang#zhiding.cn
注意:收到邮件乱码的用户请修改客户端的默认字体编码,从"简体中文(GB2312)"修改为"Unicode(UTF-8)"。
Android 的每一个大版本通常都有专有名字,名字来自糖果或甜点,比如奥利奥、牛轧糖、棉花糖、奇巧巧克力(Oreo、Nougat、Marshmallow、Kitkat、Jellybean、Lollipop)等等。但从下一个版本开始,Google 终止了这一命名方法,它放弃了起专有名字,因为这会让消费者困惑,不知道奇巧巧克力或棉花糖哪个版本在前哪个版本在后。预计在今年晚些时候推出的 Android Q 其正式名称
将是 Android 10。
路透援引知情人士消息的
报道,Google 停止向运营商共享部分 Android 手机数据,担心可能引起监管者的审查。被称为“Mobile Network Insights”的服务向运营商展示其网络覆盖所存在的弱点。尽管这些数据都是匿名的,而且共享这类数据也是普遍做法,但在全球许多地方高度重视数据隐私之际,Google 的动作凸显该公司是多么担心自己被盯上。出于对数据隐私的顾虑,Google 在 4 月份关闭了这项服务。
在 Google Play Store 开发者支持日,Google
警告开发者所有新 Android Apps 将需要至少三天的时间审批。Google 给出的理由是为了更好的保护用户,需要更多时间仔细审核应用。它没有向开发者提供加速审核的方法。开发者抱怨 Google 的变动导致他们不知道能确定何时能发布 App,而已经在 Google Play 发布多个 App 的资深开发者都将从零开始。
Google
开始推送更新,允许运行 Android 7 或更新版本的用户使用手机登录旗下服务如 Gmail。但搜索巨人没有提供用户何时能使用这种登录方法的时间表。新的登录方法使用了行业标准
FIDO2、
W3C WebAuthn 和
FIDO CTAP,这些标准旨在让世人不再依赖于密码,能更容易的使用其它身份验证方法去登录服务,比如物理安全密钥、指纹或其它生物验证信息。Google 称,指纹不会发送到它的服务器,而是安全的储存在设备上。
新的方法是一把双刃剑:被告可以拒绝提供密码解锁设备自证其罪的要求,但指纹等生物识别信息则能作为证据没收的。
Android 系统的下一个大版本距离正式推出已经不再遥远。Google
发布了 Android Q 的最后一个
beta 版本。API 在 Beta 4 已经冻结了,之后的 Beta 5 和 Beta 6 主要是修 bug 和打磨。Android Q 的正式版本号是 Android 10,它的一个主要新特性是全手势导航。以前 OEM 可以实现自己的手势,但从 Android Q 起 Google 标准化了手势导航,作为 Android 兼容性的一部分,第三方设备将必须使用 Google 版本的手势导航,Google 不再允许厂商自己去实现不同的手势。
function effect_add(ele,num2=1){
var num1 = parseInt(ele.text());
num2=num1+1;
var tt = 15;
var cc = 3;
var span_num = num2-num1;
if(span_num<=0)return false;
if(span_num<10){
tt=0.1;cc=1;
}else if(span_num>=10 && span_num<20){
tt=10;cc=2;
}else{
tt=15;cc=3;
}
var nn = 0;
var tc = parseInt(span_num/cc);
var c_num = 0;
var rt = parseInt(tt*100/tc);
var t = setInterval(function(){
if(c_num == tc){
var val = num1+span_num;
clearInterval(t);
}else{
var val = num1+cc*c_num;
}
ele.text(val);
c_num++;
},rt);
}
$("div.actions a[rel=hvala]").click(function () {
var _this = $(this);
var span = _this.find('span');
var id = _this.attr('data');
$.post('//solidot.justindustin.workers.dev/my/act?op=hvala', {id: id}, function (data) {
var data = eval("(" + data + ")");
if (data.id == 1) {
effect_add(span,data.num);
_this.parent('li').toggleClass('active');
} else {
alert(data.msg);
if (data.id == -2) {
window.location.href = "/login";
}
}
});
});
$("div.actions a[rel=fav]").click(function () {
window.location.href="/login";
})
$('div.block_m span.user').mouseover(function () {
var _this = $(this).children('.user_box');
if (_this.html() == "") {
var start = '
';
var end = '
';
_this.html(start + '
' + end);
$.ajax({
type: "POST",
url: "/user/userinfo",
data: "user=" + $(this).attr('id'),
success: function (data) {
var data = eval("(" + data + ")");
var content = '';
if (data[0] == -2) {
content += '
暂无个人简介
';
} else {
content += '
' + data[0][0] + data[0][1] + '
';
content += '
关系:';
if (data[1] == -1) {
content += '自己';
} else if (data[1][0] == 0) {
content += '
普通
修改关系';
} else if (data[1][0] == 1) {
content += '
朋友
修改关系';
} else if (data[1][0] == 2) {
content += '
敌人
修改关系';
}
content += "
";
if (data[2] != undefined) {
content += '
签名:' + data[2] + '
';
}
}
_this.html(start + content + end);
}
})
}
else
_this.removeClass('hiden')
}).mouseout(function () {
$(this).children('div.user_box').addClass('hiden')
})
$('#ul_nav li.s_icon').mouseover(function(){
var d = $(this).children('div');
d.toggleClass('hiden');
}).mouseout(function(){
var d = $(this).children('div');
d.toggleClass('hiden');
});
$('.wechat').mouseover(function(){
$('.wechat_code').toggleClass('hiden');
}).mouseout(function(){
$('.wechat_code').toggleClass('hiden');
});
$(document).ready(function(){
$('.nav-secondary a').click(function(){
var _txt = $(this).text();
_hmt.push(['_trackEvent', 'nav', 'click', _txt])
})
$('.btn_ss').click(function(){
var _txt = $(".textinp").val()
_hmt.push(['_trackEvent', 'search', 'click', _txt])
})
$('.block_m a').click(function(){
var _txt = $(this).text();
_hmt.push(['_trackEvent', 'story', 'click', _txt])
})
})
document.write(unescape("%3Cscript src='https://hm.baidu.com/h.js%3Fd11396a350156e4682e4156a671bdaf1' type='text/javascript'%3E%3C/script%3E"));