从Proximity IntentReceiver发送SMS

时间:2012-11-26 20:09:56

标签: android

程序员。我正在做一个Proximity Alert App,想知道如何从ProximityIntentReceiver发送一条短信扩展BroadcastReceiver,即在输入特定半径时自动发送短信。

下面是我的ProximityIntentReceiver代码,我可以在哪里放置SMS活动?

package jacojunga.retaildistributortrack;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
import android.location.LocationManager;
import android.util.Log;
import android.widget.Toast;



public class ProximityIntentReceiver extends BroadcastReceiver {

private static final int NOTIFICATION_ID = 1000;
String sender;
IntentFilter intentFilter;

@Override
public void onReceive(Context context, Intent intent) {

    String key = LocationManager.KEY_PROXIMITY_ENTERING;

    Boolean entering = intent.getBooleanExtra(key, false);

    if (entering) {
        Log.d(getClass().getSimpleName(), "entering");
        Toast.makeText(context,sender ,
                Toast.LENGTH_SHORT).show();
        NotificationManager notificationManager =
                                                                               (NotificationManager)                                                                                             context.getSystemService(Context.NOTIFICATION_SERVICE);

                PendingIntent pendingIntent =   PendingIntent.getActivity(context, 0, null, 0);

                Notification notification = createNotification();
                notification.setLatestEventInfo(context,     "Proximity Alert!", "You are near your point of interest.", pendingIntent);

                notificationManager.notify(NOTIFICATION_ID,  notification);
    } else {
        Log.d(getClass().getSimpleName(), "exiting");
       }

         }

        private Notification createNotification() {
    Notification notification = new Notification();

    notification.icon = R.drawable.pushpin;
    notification.when = System.currentTimeMillis();

    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    notification.flags |= Notification.FLAG_SHOW_LIGHTS;

    notification.defaults |= Notification.DEFAULT_VIBRATE;
    notification.defaults |= Notification.DEFAULT_LIGHTS;

    notification.ledARGB = Color.WHITE;
    notification.ledOnMS = 1500;
    notification.ledOffMS = 1500;

    return notification;
       }

  }

由于

1 个答案:

答案 0 :(得分:1)

使用广播接收器发送短信的代码是

SmsManager sms = SmsManager.getDefault();
    sms.sendTextMessage(phoneNumber, null, body, null, null);

您还需要将其添加到清单

<uses-permission android:name="android.permission.SEND_SMS" />

当您收到接近警报时,请将其放置。