Konumumu (boylam ve enlem), kendimden bir sms alma konusunda başka birine göndermem gereken bir uygulamam var. Bir şekilde konumumu (boylam ve enlem) alacağım ve yanıt sms olarak bir metin olarak ekleyeceğim ve sonra başka bir kişiye göndermek.Ama şimdi konumumu almak ve cevap sms.Till bir metin olarak koymak nasıl bir sorunla karşı karşıyayım Şimdi diğer bir sms alma üzerine bir cevap mesaj gönderen bir kod yazdık Kimse bana kimsenin konumumu nasıl aldığını ve metin mesajı olarak nasıl eklediğini söyle? İşte Konumum (boylam ve enlem), başkalarına yanıt sms olarak nasıl gönderilir?
yanıt mesajı göndermek için benim kodudur:public void OnReceive (Bağlam bağlamını, Niyet niyet) {
Intent m=new Intent(context, ReceivelocationActivity.class);
PendingIntent pi=PendingIntent.getBroadcast(context, 0, m, 0);
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
String str2="";
String str3="";
String autoReplyToken = "Request_Accepted";
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 += "SMS from " + msgs[i].getOriginatingAddress();
str2=msgs[i].getOriginatingAddress();
str += " :";
str += msgs[i].getMessageBody().toString();
str3=msgs[i].getMessageBody().toString();
str += "\n";
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
SmsManager sms = SmsManager.getDefault();
boolean isAutoReply = str3.startsWith(autoReplyToken);
/* As suggested by Dan J */
Criteria hdCrit = new Criteria();
hdCrit.setAccuracy(Criteria.ACCURACY_COARSE);
hdCrit.setAltitudeRequired(false);
hdCrit.setBearingRequired(false);
hdCrit.setCostAllowed(true);
hdCrit.setPowerRequirement(Criteria.POWER_LOW);
hdLocMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
hdLocProvider = hdLocMgr.getBestProvider(hdCrit, true);
Location location = hdLocMgr.getLastKnownLocation(hdLocProvider);
Double dlat = location.getLatitude();
Double dlon = location.getLongitude();
String msg = dlat + "," + dlon ;
/* As suggested by Dan J */
if (!isAutoReply) {
String autoReplyText = autoReplyToken + msg;
sms.sendTextMessage(str2, null, autoReplyText, pi, null);
}
}
}
herkes nasıl yerine "msg" değişkeninde gerçek konumu göndermek için bana söyleyebilir "konum" dizesinin. Herhangi bir fikri olan herkes lütfen bana bildirin. Şimdiden teşekkürler. Ayrıca beyannamesine uygun izinleri eklemeniz gerekir
String msg = "location" ;
String msg = dlat + ", " + dlon;
için
Sonra sadece değiştirin:
Hatta bu sorunun cevabını bilmek istiyorum, orada daha çok kimsenin kurtarmaya gelip gelebileceğini görelim. –
Henüz nasıl yer alacağınızı anladınız mı? Bundan sonra sadece konum nesnesinden aldığınız numaralardan geçebilirsiniz. http://developer.android.com/guide/topics/location/obtaining-user-location.html –
Dan J tarafından önerilen şekilde denedim ve kodumdaki eklemeler ama şimdi bile derleme değil. Herhangi bir fikriniz varsa, wron'a ne önerirsiniz? –