自动回复手机的位置

时间:2013-06-17 15:55:16

标签: java android sms message android-broadcast

在我的应用中,用户设置密码,然后将密码作为来自其他手机的消息发送。该应用程序应识别密码并自动回复电话的当前位置。以下是我用过的代码。

            Bundle bundle = intent.getExtras();
            SmsMessage[] msgs = null;
            @SuppressWarnings("unused")
            String str = "";
            if (bundle != null) {
                // ---retrieve the SMS message received---
                Object[] pdus = (Object[]) bundle.get("pdus");
                msgs = new SmsMessage[pdus.length];
                for (int i = 0; i < msgs.length; i++) {
                    msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
                    str += msgs[i].getMessageBody().toString();

                }

                for (SmsMessage msg : msgs) {
                        if (msg.getMessageBody().contains("SMSLOCATE:")) {
                                String[] tokens = msg.getMessageBody().split(":");
                                if (tokens.length >= 2) {
                                        String md5hash = PhoneFinder.getMd5Hash(tokens[1]);
                                        if (md5hash.equals(correctMd5)) {
                                                String to = msg.getOriginatingAddress();
                                                LocationManager lm =
                                                        (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

                                                SmsManager sm = SmsManager.getDefault();

                                                sm.sendTextMessage(to, null, lm.getLastKnownLocation("gps").toString(),
                                                                null, null);

                                                Toast.makeText(context, context.getResources().getString(R.string.notify_text) + to,
                                                                Toast.LENGTH_SHORT).show();

}

没有显示错误。但是,在安装应用程序并从另一部手机发送消息(密码)后,一切都没有发生。有帮助吗? PS:Toast似乎没有起作用。我的应用程序应该在成功运行应用程序时显示吐司。但事实并非如此。

0 个答案:

没有答案