有没有办法在Firefox OS中获取用户的电话号码?
如果是这样,我们将不胜感激。
答案 0 :(得分:3)
根据Mozilla的app permissions page,有一个名为“phonenumberservice”的许可,但没有相关信息。无论如何,permision列在“内部(认证)应用程序权限”下,这意味着,只有“系统级应用程序和Mozilla /运营商/ OEM创建的默认应用程序”才能使用它。
答案 1 :(得分:2)
使用Firefox 2.0,您应该能够使用Mobile Identity API: https://wiki.mozilla.org/WebAPI/MobileIdentity https://bugzilla.mozilla.org/show_bug.cgi?id=1021594 我相信许可是:
“权限”:{ “mobileid”:{}}
这是特权。
答案 2 :(得分:1)
因此,正如@Jason所说,Mobile Identity API提供此功能,不仅适用于认证,还适用于特权应用程序。所以它不再只是OEM。
Mozilla Wiki网站显示API:
dictionary MobileIdOptions {
boolean forceSelection = false;
};
partial interface Navigator {
Promise getMobileIdAssertion(optional MobileIdOptions options);
};
该网站还为此提供了示例代码框架:
function verifyAssertion(aAssertion) {
// Make use of the remote verification API
// and return the verified msisdn.
// NB: This is necessary to make sure that the user *really* controls this phone number!
}
// Request a mobile identity assertion and force the chrome UI to
// allow the user to change a possible previous selection.
navigator.getMobileIdAssertion({ forceSelection: true })
.then(
(assertion) => {
verifyAssertion(assertion)
.then(
(msisdn) => {
// Do stuff with the msisdn.
}
);
},
(error) {
// Process error.
};
);
要使其正常工作,您需要在清单文件中添加mobileid
权限,例如像这样(我编写说明):
"permissions": {
"mobileid": {
"description": "Required for sending SMS for two factor authentication",
"access": "readonly"
}
}
PS:我做了这个答案,因为大多数答案都已过时,而那些答案已经过时,并不包含所有有用的信息。
<强>参考文献:强>