nIMa_aZx

توسعه دهنده اندروید
  • تعداد ارسال ها

    1
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

0 Neutral

درباره nIMa_aZx

  • درجه
    Newbie
  1. سلام دوستان. من تقریبا هیچی از زبان جاوا و اندروید استودیو بلد نیستم . ولی با اشنایی با برنامه نویسی زبان های دیگه یه سری کد ها رو میفهمم. حالا یه برنامه ای درست کردم دست و پا شکسته از توی اینترنت و خودم. برنامه اینجوریه که 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 شدن . درستش کردم.