1+ package nativeClasses.sms
2+ {
3+ //import com.doitflash.air.extensions.sms.SMS;
4+ //import com.doitflash.air.extensions.sms.SMSEvent;
5+
6+ import flash.events.Event ;
7+ import flash.utils.clearInterval ;
8+ import flash.utils.getDefinitionByName ;
9+ import flash.utils.setInterval ;
10+
11+ //import com.doitflash.air.extensions.sms.SMS;
12+
13+ public class SMSHandlerNative
14+ {
15+ /**com.doitflash.air.extensions.sms.SMS*/
16+ private static var smsClass: Class ;
17+
18+ /**com.doitflash.air.extensions.sms.SMSEvent*/
19+ private static var smsEventObject: Class ;
20+
21+ private static var sms: Object ;
22+
23+ private static const smsid: String = '468456456' ;
24+
25+ private static var onDone: Function ,
26+ onFaild: Function ;
27+
28+ public static function setUp ():void
29+ {
30+ if (sms== null )
31+ {
32+ try
33+ {
34+ smsClass == getDefinitionByName ("com.doitflash.air.extensions.sms.SMS" ) as Class ;
35+ smsEventObject == getDefinitionByName ("com.doitflash.air.extensions.sms.SMSEvent" ) as Class ;
36+ sms = new smsClass();
37+ }
38+ catch (e)
39+ {
40+ smsClass = null ;
41+ trace ("com.doitflash.air.extensions.sms.SMS is not imported" );
42+ }
43+ }
44+ }
45+
46+ public static function sendMessage (phoneNumber :String ,body :String ,onDoneFunction :Function ,onFaildFunction :Function ):void
47+ {
48+ setUp();
49+
50+ onDone = onDoneFunction ;
51+ onFaild = onFaildFunction ;
52+
53+ if (sms)
54+ {
55+ sms. addEventListener ((smsEventObject as Object ). SEND_ERROR ,sendingFaild);
56+ sms. addEventListener ((smsEventObject as Object ). DELIVERY_FAILED ,sendingFaild);
57+ sms. addEventListener ((smsEventObject as Object ). SEND_SUCCESS ,listenToAnswer);
58+ sms. addEventListener ((smsEventObject as Object ). SMS_RECEIVED ,controllReceivedSMS);
59+ sms. addEventListener ((smsEventObject as Object ). NEW_RECEIVED_SMS ,controllReceivedSMS);
60+ sms. addEventListener ((smsEventObject as Object ). NEW_PERIOD_SMS ,controllReceivedSMS);
61+
62+ sms. sendSms(phoneNumber,body ,smsid);
63+ }
64+ }
65+
66+ protected static function listenToAnswer (event :* ):void
67+ {
68+ trace ("SmS snet..." + JSON . stringify(event. param,null ,' ' ));
69+ trace ("SMSs1 are : " + JSON . stringify(sms. smsArray));
70+ sms. removeEventListener ((smsEventObject as Object ). SEND_SUCCESS ,listenToAnswer);
71+
72+ onDone();
73+ }
74+
75+ protected static function controllReceivedSMS (event :* ):void
76+ {
77+ trace ("SMSs2 are : " + JSON . stringify(sms. smsArrayAfterId));
78+ //clearInterval(intervalId);
79+ trace ("receved sms is : " + JSON . stringify(event. param,null ,' ' ));
80+ }
81+
82+ /**Add all listeners to detect sms is sent successfully*/
83+ private static function setListeners ():void
84+ {
85+
86+ }
87+
88+ /**Remove all listeners*/
89+ private static function removeListeners ():void
90+ {
91+ sms. removeEventListener ((smsEventObject as Object ). SEND_ERROR ,sendingFaild);
92+ sms. removeEventListener ((smsEventObject as Object ). DELIVERY_FAILED ,sendingFaild);
93+ sms. removeEventListener ((smsEventObject as Object ). SEND_SUCCESS ,listenToAnswer);
94+ sms. removeEventListener ((smsEventObject as Object ). SMS_RECEIVED ,controllReceivedSMS);
95+ }
96+
97+ protected static function sendingFaild (event :Event ):void
98+ {
99+ trace ("Sending fails" );
100+ removeListeners();
101+ onFaild();
102+ }
103+ }
0 commit comments