app crashes with version 1.0.0 during sms send
See original GitHub issueI’ve been successful in using the cordova-sms-plugin 0.1.13 in an earlier Ionic 3 app - bleNav. In a new Ionic app, rButton, when I installed the cordova-sms-plugin, I got a version 1.0.0. For some reason, the new app crashes when i ran the same line of code
this.sms.send(this.phoneNumber, 'This is a test.')
Both of these apps were created as Ionic 3 apps. I was running the apps on a Samsung Galaxy S4 running Android 5.0.1 using the CLI command
ionic cordova run android
I saw another thread discussing crashing on some later versions of Android relating to android.permission.READ_PHONE_STATE. I do not think my crash is related to that which is why I am starting a new issue. Since Ionic 4 is the official release, I also tried starting an Ionic 4 test app and installed the cordova-sms-plugin 1.0.0. Again when I make the this.sms.send() call, the app crashes.
I want to see if anyone else has the same experience with cordova-sms-plugin 1.0.0. Also, is there a way I can force replace the 1.0.0 version of the sms plugin with the 0.1.13 version?
Below is the list of plugins for the two apps: `C:\Users\Toe\Documents\ionic2\bleNav>ionic cordova plugin
cordova plugin ls cordova-plugin-ble-central 1.1.4 “BLE” cordova-plugin-compat 1.2.0 “Compat” cordova-plugin-device 1.1.4 “Device” cordova-plugin-ionic-webview 1.1.16 “cordova-plugin-ionic-webview” cordova-plugin-nativeaudio 3.0.9 “Cordova Native Audio” cordova-plugin-splashscreen 5.0.1 “Splashscreen” cordova-plugin-vibration 3.1.0 “Vibration” cordova-plugin-whitelist 1.3.1 “Whitelist” cordova-sms-plugin 0.1.13 “Cordova SMS Plugin” ionic-plugin-keyboard 2.2.1 “Keyboard”
C:\Users\Toe\Documents\ionic2\bleNav>cd …/rbutton
C:\Users\Toe\Documents\ionic2\rButton>ionic cordova plugin
cordova plugin ls cordova-plugin-ble-central 1.2.2 “BLE” cordova-plugin-compat 1.2.0 “Compat” cordova-plugin-device 2.0.2 “Device” cordova-plugin-geolocation 4.0.1 “Geolocation” cordova-plugin-ionic-keyboard 2.1.3 “cordova-plugin-ionic-keyboard” cordova-plugin-ionic-webview 2.3.1 “cordova-plugin-ionic-webview” cordova-plugin-nativeaudio 3.0.9 “Cordova Native Audio” cordova-plugin-splashscreen 5.0.2 “Splashscreen” cordova-plugin-statusbar 2.4.2 “StatusBar” cordova-plugin-whitelist 1.3.3 “Whitelist” cordova-sms-plugin 1.0.0 “Cordova SMS Plugin” cordova-sqlite-storage 2.6.0 “Cordova sqlite storage plugin”`
Below is the content of the config.xml file for bleNav that works:
<?xml version='1.0' encoding='utf-8'?> <widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <name>bleNav</name> <description>An awesome Ionic/Cordova app.</description> <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author> <content src="index.html" /> <access origin="*" /> <allow-intent href="http://*/*" /> <allow-intent href="https://*/*" /> <allow-intent href="tel:*" /> <allow-intent href="sms:*" /> <allow-intent href="mailto:*" /> <allow-intent href="geo:*" /> <preference name="ScrollEnabled" value="false" /> <preference name="android-minSdkVersion" value="16" /> <preference name="BackupWebStorage" value="none" /> <preference name="SplashMaintainAspectRatio" value="true" /> <preference name="FadeSplashScreenDuration" value="300" /> <preference name="SplashShowOnlyFirstTime" value="false" /> <preference name="SplashScreen" value="screen" /> <preference name="SplashScreenDelay" value="3000" /> <platform name="android"> <allow-intent href="market:*" /> <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" /> <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" /> <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" /> <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" /> <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" /> <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" /> <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" /> <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" /> <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" /> <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" /> <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" /> <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" /> <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" /> <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" /> <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" /> <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" /> <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" /> <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" /> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> <icon height="57" src="resources/ios/icon/icon.png" width="57" /> <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" /> <icon height="40" src="resources/ios/icon/icon-40.png" width="40" /> <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" /> <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" /> <icon height="50" src="resources/ios/icon/icon-50.png" width="50" /> <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" /> <icon height="60" src="resources/ios/icon/icon-60.png" width="60" /> <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" /> <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" /> <icon height="72" src="resources/ios/icon/icon-72.png" width="72" /> <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" /> <icon height="76" src="resources/ios/icon/icon-76.png" width="76" /> <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" /> <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" /> <icon height="29" src="resources/ios/icon/icon-small.png" width="29" /> <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" /> <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" /> <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" /> <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" /> <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" /> <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" /> <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" /> <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" /> <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" /> <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" /> <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" /> <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" /> <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" /> <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" /> <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" /> <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" /> </platform> <plugin name="ionic-plugin-keyboard" spec="~2.2.1" /> <plugin name="cordova-plugin-whitelist" spec="1.3.1" /> <plugin name="cordova-plugin-device" spec="1.1.4" /> <plugin name="cordova-plugin-splashscreen" spec="~4.0.1" /> <plugin name="cordova-plugin-ionic-webview" spec="^1.1.11" /> <allow-navigation href="http://192.168.0.7:8100" /> <plugin name="cordova-plugin-ble-central" spec="~1.1.4" /> <plugin name="cordova-plugin-vibration" spec="~3.1.0" /> <plugin name="cordova-plugin-nativeaudio" spec="~3.0.9" /> <plugin name="cordova-sms-plugin" spec="~0.1.13" /> <engine name="android" spec="~6.1.2" /> </widget>
And the content of the config.xml file for rButton that crashes:
<?xml version='1.0' encoding='utf-8'?> <widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <name>rButton</name> <description>An awesome Ionic/Cordova app.</description> <author email="hi@ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author> <content src="index.html" /> <access origin="*" /> <allow-intent href="http://*/*" /> <allow-intent href="https://*/*" /> <allow-intent href="tel:*" /> <allow-intent href="sms:*" /> <allow-intent href="mailto:*" /> <allow-intent href="geo:*" /> <preference name="ScrollEnabled" value="false" /> <preference name="android-minSdkVersion" value="19" /> <preference name="BackupWebStorage" value="none" /> <preference name="SplashMaintainAspectRatio" value="true" /> <preference name="FadeSplashScreenDuration" value="300" /> <preference name="SplashShowOnlyFirstTime" value="false" /> <preference name="SplashScreen" value="screen" /> <preference name="SplashScreenDelay" value="3000" /> <platform name="android"> <allow-intent href="market:*" /> <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" /> <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" /> <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" /> <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" /> <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" /> <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" /> <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" /> <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" /> <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" /> <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" /> <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" /> <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" /> <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" /> <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" /> <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" /> <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" /> <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" /> <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" /> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> <icon height="57" src="resources/ios/icon/icon.png" width="57" /> <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" /> <icon height="40" src="resources/ios/icon/icon-40.png" width="40" /> <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" /> <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" /> <icon height="50" src="resources/ios/icon/icon-50.png" width="50" /> <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" /> <icon height="60" src="resources/ios/icon/icon-60.png" width="60" /> <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" /> <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" /> <icon height="72" src="resources/ios/icon/icon-72.png" width="72" /> <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" /> <icon height="76" src="resources/ios/icon/icon-76.png" width="76" /> <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" /> <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" /> <icon height="29" src="resources/ios/icon/icon-small.png" width="29" /> <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" /> <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" /> <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" /> <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" /> <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" /> <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" /> <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" /> <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" /> <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" /> <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" /> <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" /> <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" /> <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" /> <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" /> <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" /> <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" /> </platform> <plugin name="cordova-plugin-whitelist" spec="1.3.3" /> <plugin name="cordova-plugin-statusbar" spec="2.4.2" /> <plugin name="cordova-plugin-device" spec="2.0.2" /> <plugin name="cordova-plugin-splashscreen" spec="5.0.2" /> <plugin name="cordova-plugin-ionic-webview" spec="^2.0.0" /> <plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" /> <plugin name="cordova-sqlite-storage" spec="2.6.0" /> <plugin name="cordova-plugin-ble-central" spec="1.2.2" /> <plugin name="cordova-plugin-geolocation" spec="4.0.1"> <variable name="GEOLOCATION_USAGE_DESCRIPTION" value="To locate you" /> </plugin> <plugin name="cordova-plugin-nativeaudio" spec="3.0.9" /> <plugin name="cordova-sms-plugin" spec="1.0.0" /> <engine name="android" spec="7.1.4" /> </widget>
Should I check the logcat logs for the stacktrace? Do I have to load the code and run on Android Studio to do that? I have to apologize that I am still learning about things. Any help you can provide is much appreciated.
Issue Analytics
- State:
- Created 5 years ago
- Comments:26 (9 by maintainers)
Top GitHub Comments
@GianLucaFinelli Thanks for the reply! I’ve been off the original project for a while and could not remember where I left it. However, in the new project, I will have to get back into doing SMS sending. I will keep your solution in mind when I got back to working on SMS sending. Best regards!
@FrancisTse8
I am using ionic v3 and in my case the application crashed with several devices with android version between 8.1.0 and 10
The intent setting was for the sms to be sent in the background
let smsOptions = { replaceLineBreaks: true, // true to replace \n by a new line, false by default android: { intent: '' // send SMS with the native android SMS messaging } }
worked for cordova-sms-plugin version from 1.0.0 to 1.0.2, no need to downgrade the plugin.
in conclusion, try to remove the special characters from the send as the line break “\n” take into account the number of characters allowed for sending sms with special characters
In my case it worked, it would be interesting to try it, late but surely