Removing the SMS Listener

This commit is contained in:
Joe Bowser 2009-11-20 16:50:15 -08:00
parent 43b3090c30
commit 86907836b2
2 changed files with 2 additions and 97 deletions

View File

@ -46,14 +46,12 @@ public class PhoneGap{
public static String uuid;
private Context mCtx;
private WebView mAppView;
SmsListener mSmsListener;
AudioHandler audio;
public PhoneGap(Context ctx, WebView appView) {
this.mCtx = ctx;
this.mAppView = appView;
mSmsListener = new SmsListener(ctx,mAppView);
audio = new AudioHandler("/sdcard/tmprecording.mp3", ctx);
uuid = getUuid();
}
@ -119,33 +117,8 @@ public class PhoneGap{
return version;
}
// Old SMS code, figure out what to do with this!
// BTW: This is awesome!
public void notificationWatchPosition(String filter)
/**
* Starts the listener for incoming notifications of type filter
* TODO: JavaScript Call backs for success and error handling. More filter types.
*/
{
if (filter.contains("SMS"))
{
IntentFilter mFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
mCtx.registerReceiver(mSmsListener,mFilter);
}
}
public void notificationClearWatch(String filter)
/**
* Stops the listener for incoming notifications of type filter
* TODO: JavaScript Call backs for success and error handling
*/
{
if (filter.contains("SMS"))
{
mCtx.unregisterReceiver(mSmsListener);
}
}
public void httpGet(String url, String file)
/**

View File

@ -1,68 +0,0 @@
package com.phonegap;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;
import android.util.Log;
import android.webkit.WebView;
public class SmsListener extends BroadcastReceiver
{
private WebView mAppView;
public SmsListener(Context ctx, WebView mAppView)
{
this.mAppView = mAppView;
}
String ACTION = "android.provider.Telephony.SMS_RECEIVED";
public void onReceive(Context ctx, Intent intent)
{
SmsMessage[] msg;
if (intent.getAction().equals(ACTION))
{
msg = getMessagesFromIntent(intent);
String smsContent = null;
String sendersNumber = null;
for(int i=0; i < msg.length; i++)
{
sendersNumber = msg[i].getDisplayOriginatingAddress();
smsContent = msg[i].getDisplayMessageBody();
}
onReceiveSMS(sendersNumber, smsContent);
}
}
protected void onReceiveSMS(String sendersNumber, String smsContent)
/**
* Call back to Java Script
*/
{
mAppView.loadUrl("javascript:onReceiveSms('"+sendersNumber+"',"+"'"+ smsContent +"'"+")");
}
private SmsMessage[] getMessagesFromIntent(Intent intent)
{
SmsMessage retMsgs[] = null;
Bundle bdl = intent.getExtras();
try
{
Object pdus[] = (Object [])bdl.get("pdus");
retMsgs = new SmsMessage[pdus.length];
for(int n=0; n < pdus.length; n++)
{
byte[] byteData = (byte[])pdus[n];
retMsgs[n] = SmsMessage.createFromPdu(byteData);
}
} catch(Exception e)
{
Log.e("SMS_getMessagesFromIntent", "fail", e);
}
return retMsgs;
}
}