بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
طریقه فهمیدن تعویض سیم کارت ؟
مدیریت گفتگو
آخرین تغییر: 10 سال پیش
دوستان چطور میشه فهمید سیم کارت یه گوشی تعویض شده و شمارش برای ما بیاد ؟
پاسخها 5
برای فهمیدن تغییر سیم این کد را تست کنید
package a.b.c;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class SimChangedReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
Log.d("SimChangedReceiver", "--> SIM state changed <--");
// Most likely, checking if the SIM changed could be limited to
// events where the intent's extras contains a key "ss" with value "LOADED".
// But it is more secure to just always check if there was a change.
}
}
*************************************************************************************************************
<receiver android:name="a.b.c.SimChangedReceiver">
<intent-filter>
<action android:name="android.intent.action.SIM_STATE_CHANGED"/>
</intent-filter>
</receiver>
اما به دلیل مسائل امنیتی شماره را نمیشه به دست آورد من که جایی ندیدم
نظرات
اول از شما تشکر میکنم که جواب دادید اخه سوالات من رو کسی جواب نمیده حالا یا سوالات من زیادی عجیب غریبه یا چیز دیگه نمیدونم .......... بهار جان مساله همینه که میخوام شماره رو بدست بیارم من چندتا کد دیدم ولی هم جواب نداد هم جواب دادنش فایده نداشت ..... حالا نمیدونم چطور کاری کنم تا با هر بار روشن شدن گوشی یه پیام بفرسته .... نظر شما در این باره چیه؟
دوست من شماره که گرفته نمی شه اما می شه فهمید که سیم کارت عوض شده. دقیقتر بگو چی می خوای تا بهت بگم. منظورت از این که هر بار گوشی روشن شه یه چیام بفرسته چیه؟
وحید جان میخوام وقتی گوشی خاموش و روشن میشه حالا چه سیم کارت قبلی روش باشه و چه سیم کارت عوض شده باشه یه پیامک به شماره من با متن مشخص بفرسته .....
ارسال پیام استاد را ببینید و توی broadcast ارسال پیام را بزارین و بگین به روشن شدن گوشی حساس باشه
بهار دقیقا همین حساس شدن به روشن شدن گوشی رو من مشکل دارم .... نمیدونم براش تعریف کنم ... لطفا بیشتر توضیح بده ... متشکرم
این برای خاموش شدن
<receiver android:name=".ShutdownReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
<action android:name="android.intent.action.QUICKBOOT_POWEROFF" />
</intent-filter>
</receiver>
اینم فکر کنم برای روشن شدن باشه
<action android:name="android.intent.action.REBOOT" />
نظرات
<receiver android:name=".MyReceiver" android:enabled="true" android:exported="false"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/><action android:name="android.intent.action.QUICKBOOT_POWERON" /></intent-filter> </receiver>
اینم پرمیشن مربوطه<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
کلاسpublic class MyReceiver extends BroadcastReceiver {"MyReceiver":
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "test Text",Toast.LENGTH_SHORT).show();
}
نظرات
این را تست کردم خوده برنامه را باز می کنه
تو MyReceiver میتونی هر کدی رو قرار بدی. مثلا من یه سرویس رو اجرا کردم و فقط سرویس اجرا شد; برنامه رو باز نمیکنه:)
من توش toast گذاشتم اما اجرا نمیشه ولی به جاش برنامه باز میشه :-)
یجا نوشته اسم پکیج را هم قبلش بزارین
این کد که مشکلی نداره همین الان یه بار دیگه تستش کردم . استاد هم تو بخش 26 از همین کد استفاده میکنه. احتمالا مشکلتون از جای دیگست.
یجا نوشته اسم پکیج را هم قبلش بزارین
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name="com.example.MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
package com.example;
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startServiceIntent = new Intent(context, MyService.class);
context.startService(startServiceIntent);
}
}
نظرات
من که کلا قاطی کردم نمیدونم چی شد ......
دوستان یک نکته مهم نوشتن اگه برنامه روی sd card نصب بشه BOOT_COMPLETED جوابگو نیست لینک
والا فعلا که در شرایط عادی هم جوابگو نیست
اگ منظورت اینجاست com.example.MyBroadcastReceiver که همون "." به پکیج برنامتون اشاره میکنه.
سم کد دوستمون DarkException را تست کد ببین جواب میده یا نه
DarkException بله اما نوشته بودن گاهی ممکن با نقطه جواب نده
بهار بخدا من سم نیستم ( شوخی ) سام هستم ..... امتحان کردم واسه من که نشد بی زحمت شما هم یه تست کن ..... شاید من جایی رو دارم اشتباه میکنم
برای منم هیچ عکس و العملی نداره
من که خودم تست کردم دوباره مشکلی نداشت. کلاس MyReceiver خودم رو هم به پاسخ بالا اضافه کردم.
DarkException عزیز کدها رو کامل قرار میدی ببینیم .... مرسی
این کد الان جواب داد بهم:
این را در AndroidManifest.xml بالای تگ application بزارین
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
این را در AndroidManifest.xml توی تگ application بزارین قبل از بسته شدن تگ
<receiver android:name=".BootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
این هم کد کامل Broadcast Recever:
package com.uncocoder.app.course.app;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class BootReceiver extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
// Your code to execute when Boot Completd
Toast.makeText(context, "Booting Completed", Toast.LENGTH_LONG).show();
}
}
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات