我试图通过添加corodova发送sms插件从使用短信管理器的设备发送短信.这个应用程序工作正常,直到android6.0设备它发送短信也,但当我试图从android7.0发送短信时,它显示我以下安全例外.在发送短信之前,它要求获得许可,我也同意了.
例外:
java.lang.SecurityException:
at android.os.Parcel.readException(Parcel.java:1683)
at android.os.Parcel.readException(Parcel.java:1636)
at com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy.getGroupIdLevel1(IPhoneSubInfo.java:583)
at android.telephony.TelephonyManager.getGroupIdLevel1(TelephonyManager.java:2163)
at android.telephony.SmsMessage.hasEmsSupport(SmsMessage.java:854)
at com.android.internal.telephony.SmsMessageBase.calcUnicodeEncodingDetails(SmsMessageBase.java:409)
at com.android.internal.telephony.gsm.SmsMessage.calculateLength(SmsMessage.java:796)
at android.telephony.SmsMessage.fragmentText(SmsMessage.java:354)
at android.telephony.SmsManager.divideMessage(SmsManager.java:450)
at com.cordova.plugins.sms.Sms.send(Sms.java:143)
at com.cordova.plugins.sms.Sms.access$400(Sms.java:22)
at com.cordova.plugins.sms.Sms$1.run(Sms.java:102)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Run Code Online (Sandbox Code Playgroud)
发送短信的代码:
var smsdata = ' ????: ' + this.currentbilldate + ' ???? ???: ' + this.save_details.vehicle_bill_no + ' ???????????? ??????????? ?????????: ' + this.smselements.toString() + ', ?????? ??????????: ' + totalcount + '';
var farmermobileno = this.entry_details.farmer_mobile_no;
this.sms.send(farmermobileno, smsdata).then((result) => {
this.commonService.presentToast('Message sent successfully');
}, (error) => …Run Code Online (Sandbox Code Playgroud) 我已经从git中克隆了ionic项目,其中的node_modules,平台,插件不可用,但在package.json中,我具有所有详细信息,因此我是否必须一一安装全部还是有什么短的方法可以使用package.json并安装所有的node_modules,平台和插件。
package.json
{
"private": true,
"engines": {
"node": ">=4.0.0"
},
"scripts": {
"test": "gulp build --minify && gulp karma"
},
"devDependencies": {
"browser-sync": "^2.8.3",
"chalk": "^1.1.0",
"cordova": "^6.0.0",
"del": "^2.0.0",
"elementtree": "^0.1.6",
"eslint": "^3.0.0",
"gulp": "^3.9.1",
"gulp-angular-filesort": "^1.1.1",
"gulp-autoprefixer": "^3.0.1",
"gulp-changed": "^1.3.0",
"gulp-csso": "^2.0.0",
"gulp-eslint": "^3.0.0",
"gulp-filter": "^4.0.0",
"gulp-htmlmin": "^2.0.0",
"gulp-if": "^2.0.0",
"gulp-imagemin": "^3.0.1",
"gulp-inject": "^4.0.0",
"gulp-jsonlint": "^1.1.0",
"gulp-load-plugins": "^1.0.0-rc",
"gulp-natural-sort": "^0.1.0",
"gulp-ng-annotate": "^2.0.0",
"gulp-plumber": "^1.0.1",
"gulp-protractor": "^3.0.0",
"gulp-rename": "^1.2.2",
"gulp-sass": "^3.1.0",
"gulp-shell": "^0.5.1",
"gulp-size": "^2.0.0",
"gulp-sourcemaps": "^1.5.2",
"gulp-uglify": "^2.0.0", …Run Code Online (Sandbox Code Playgroud) 我想从typescript中的对象中分离键和值,因为我使用了以下代码,该代码仅返回值但不显示键.
Object.keys(data).forEach(key=> {
console.log('keys', data[key]);
});
Run Code Online (Sandbox Code Playgroud)
但是当我在javascript中使用下面的函数时,它正确地给了我关键和值,任何人都可以告诉我如何在typescript中做同样的事情来获取对象的键和值.
angular.forEach(data, function (value, column) {
columns.push(column);
values.push(value);
});
Run Code Online (Sandbox Code Playgroud) 我正在使用redux向导表单进行编辑,其中我在向导中的每个页面的componentDidMount中加载数据.但是,当我更新值并转到下一页时,更新的值不会在第二种形式中重新连接,而如果我来到上一页,它会加载初始值而不是更新的值.任何人都可以告诉我我的代码有什么问题:
第一表格:
componentDidMount() {
const users = this.props.users;
let user = {};
user = users[this.props.userID];
this.setState({file: user.profilePicture});
this.props.initialize(user);
console.log('user is', user);
}
render() {
const { handleSubmit } = this.props;
const age = (value) => (value == null ? '' : this.state.age);
return (
<form onSubmit={handleSubmit}>
<Col sm="12">
<Card className="card-border">
<CardBody>
<FormGroup row>
<Col xs="12" lg="2">
<img
src={this.state.file}
style={{width: 125, height: 125}}
className="img-avatar"
/>
</Col>
<Col xs="12" lg="10">
<Field
type="file"
id="file-input"
name="image"
accept="image/*"
component={ImageUpload}
label="Upload User Image *"
validation="fieldRequired"
className="fileLoader" …Run Code Online (Sandbox Code Playgroud) android ×1
cordova ×1
git ×1
ionic2 ×1
ionic3 ×1
javascript ×1
json ×1
node.js ×1
react-redux ×1
reactjs ×1
redux ×1
redux-form ×1
typescript ×1