nIMa_aZx 0 ارسال شده در ۱ مهر ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۱ مهر ۱۳۹۵ سلام دوستان. من تقریبا هیچی از زبان جاوا و اندروید استودیو بلد نیستم . ولی با اشنایی با برنامه نویسی زبان های دیگه یه سری کد ها رو میفهمم. حالا یه برنامه ای درست کردم دست و پا شکسته از توی اینترنت و خودم. برنامه اینجوریه که sms هایی که دریافت میشه رو صفحه بنویسه . ولی مشکل اینه فقط با TOAST نمایش میده و میره. یه مشکل دیگم داشتم این بود نتونستم با دیباگ و امولاتور یه سری کد ها رو مثل زبان های برنامه نویسی دیگه دیباگ کنم . این کلاس Receiver هست. [shcode=java] package com.example.a11.sms_proj; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.SmsMessage; import android.util.Log; import android.widget.Toast; public class SMSReciever extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { //---get the SMS message passed in--- Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; String str = "SMS from "; 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 = SmsMessage.createFromPdu((byte[])pdus); if (i==0) { //---get the sender address/phone number--- str += msgs.getOriginatingAddress(); str += ": "; } //---get the message body--- str += msgs.getMessageBody().toString(); } //---display the new SMS message--- Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); Log.d("SMSReceiver", str); //---send a broadcast intent to update the SMS received in the activity--- Intent broadcastIntent = new Intent(); broadcastIntent.setAction("SMS_RECEIVED_ACTION"); broadcastIntent.putExtra("sms", str); context.sendBroadcast(broadcastIntent); } } } [/shcode] اینم MainActivity [shcode=java] package com.example.a11.sms_proj; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.database.Cursor; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { IntentFilter intentFilter; private BroadcastReceiver intentReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //---display the SMS received in the TextView--- TextView SMSes = (TextView) findViewById(R.id.textView1); SMSes.setText(intent.getExtras().getString("sms")); } }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //---intent to filter for SMS messages received--- intentFilter = new IntentFilter(); intentFilter.addAction("SMS_RECEIVED_ACTION"); } } [/shcode] در اصل میخوام مقادیر دریافتی رو بریزم تو یه متغیر ولی گفتم اول چاپ بشه تا مرحله بعد. شرمنده بابت بد Past شدن . درستش کردم. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
hetbo 18 ارسال شده در ۱ مهر ۱۳۹۵ گزارش اشتراک گذاری ارسال شده در ۱ مهر ۱۳۹۵ کدتو با پلین تکست پیست کن بفهمیم چی نوشتی نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .