دریافت اس ام اس و آپدیت MainActivity

0 امتیاز
40 بازدید
سوال شده آذر 17, 1394 توسط amirznad  
ویرایش شده آذر 17, 1394 توسط ASHKARAN

در هر بار اس ام اس امدن می خواهم تابع اصلی من در MainActivity لود بشه ولی این اتفاق با مشکل روبه رو می شه ایا شما راه حلی برای اینکار دارید

این مطلب را به اشتراک بگذارید

1 پاسخ

+2 امتیاز
پاسخ داده شده آذر 17, 1394 توسط ASHKARAN  
انتخاب شده آذر 18, 1394 توسط ASHKARAN
 
بهترین پاسخ

با عرض سلام

در ابتدا یک BroadCastReceiver  برای دریافت SMS  ها تعریف بفرمایید.

package com.example.sms;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class SMSReceiver extends BroadcastReceiver {
	public SMSReceiver() {
	}
	
 
	public static SMSListener smsListener;

	@Override
	public void onReceive(Context context, Intent intent) {
		 
		if(smsListener!=null)
			smsListener.onSMS(intent);
	}
}

برای انتقال اطلاعات به اکتیویتی شما باید از یک interface استفاده بفرمایید.

package com.example.sms;

import android.content.Intent;

public interface SMSListener {

	public void onSMS(Intent message);
}

 

و نهایتا از کدهای زیر در اکتیویتی خود استفاده بفرمایید:

package com.example.sms;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent; 
import android.widget.Toast;

public class MainActivity extends Activity implements SMSListener{

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		SMSReceiver.smsListener = this;
		init();
	}
	public void init() {
		// view haro inja tarif konid
		
	} 
	@Override
	public void onSMS(Intent message) {

       Toast.makeText(this, "New SMS Received !!!"  , Toast.LENGTH_LONG).show();
       //ba farakhani tabe init dobare activity ejra mishe
       init(); 
	} 
}

 

691 سوال

667 پاسخ

1,169 دیدگاه

291 کاربر

به خانه برنامه نویسان ایرانی خوش آمدید . سوالتان را به سادگی هرچه تمام تر پرسیده و پاسخ آن را دریافت کنید.
ذکات علم نشر آن است.


لطفا از Android Studio استفاده بفرمایید

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...