1

程序员。我正在做一个 Proximity Alert 应用程序,想知道如何从 ProximityIntentReceiver 发送 SMS 扩展 BroadcastReceiver,即在进入特定半径时自动发送 SMS。

下面是我的 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;
       }

  }

谢谢

4

1 回答 1

1

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

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

您还需要将此添加到您的清单中

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

当您收到接近警报时放置它。

于 2012-11-27T06:44:05.503 回答