ساختن BroadcastReceiver
با سلام و خسته نباشید
من میخوام یک برودکست ریسیور بسازم، طوری که اکشن دلخواه خودم رو بهش بدم و نسبت به اکشن دلخواه من حساس باشه و هروقت اون اکشن در گوشی مورد نظر انجام شد برودکست ریسیور خبر دار بشه.
برای اینکار سه تا activity دارم که کدهای اکتیویتی هام به شکل زیر هست، برنامه کرش میکنه و علت کرش رو lang.RunTimeExeption میزنه. تقریبا دوروزه دارم دنبال عیب برنامه می گردم اما موفق نشدم خطا رفع کنم. از استاد عزیز و دوستان خواهش دارم کمکم کنن.
package mehdi.jamali.VoyeurFinder;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.widget.Toast;
public class Reciever extends Activity {
public static String BROADCAST_ACTION = action android:name="android.provider.Telephony.SMS_SEND";
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(G.context, "received", Toast.LENGTH_SHORT).show();
}
};
@Override
protected void onResume() {
IntentFilter filter = new IntentFilter();
filter.addAction(ActivityStartup.BROADCAST_ACTION);
if (receiver != null) {
registerReceiver(receiver, filter);
}
super.onResume();
}
@Override
protected void onPause() {
if (receiver != null) {
unregisterReceiver(receiver);
}
super.onPause();
}
}
همچنین در manifest پرمیشن های لازم رو آوردم، کلاس ریسور هم ساختم و اکشن مورد نظر رو در manifest آوردم.
<receiver android:name=".Reciever" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_SEND" />
</intent-filter>
</receiver>
من قصدم ارسال اسمس نیست فقط میخوام اگر اسمسی ارسال شد، ریسیور به من خبر بده، دوتا اکتیویتی دیگه کلاس G هست و ActivityStartup هست که کد خاصی داخل اونها ننوشتم.


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