بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

طریقه فهمیدن تعویض سیم کارت ؟

مدیریت گفتگو
asad 10 سال پیش
آخرین تغییر: 10 سال پیش

دوستان چطور میشه فهمید سیم کارت یه گوشی تعویض شده و شمارش برای ما بیاد ؟

نظرات

پاسخ‌ها 5

احمد 10 سال پیش

برای فهمیدن تغییر سیم این کد را تست کنید

 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>

اما به دلیل مسائل امنیتی شماره را نمیشه به دست آورد من که جایی ندیدم

نظرات

asad 10 سال پیش
اول از شما تشکر میکنم که جواب دادید اخه سوالات من رو کسی جواب نمیده حالا یا سوالات من زیادی عجیب غریبه یا چیز دیگه نمیدونم .......... بهار جان مساله همینه که میخوام شماره رو بدست بیارم من چندتا کد دیدم ولی هم جواب نداد هم جواب دادنش فایده نداشت ..... حالا نمیدونم چطور کاری کنم تا با هر بار روشن شدن گوشی یه پیام بفرسته .... نظر شما در این باره چیه؟
وحید 10 سال پیش
دوست من شماره که گرفته نمی شه اما می شه فهمید که سیم کارت عوض شده. دقیقتر بگو چی می خوای تا بهت بگم. منظورت از این که هر بار گوشی روشن شه یه چیام بفرسته چیه؟
asad 10 سال پیش
وحید جان میخوام وقتی گوشی خاموش و روشن میشه حالا چه سیم کارت قبلی روش باشه و چه سیم کارت عوض شده باشه یه پیامک به شماره من با متن مشخص بفرسته .....
احمد 10 سال پیش
ارسال پیام استاد را ببینید و توی broadcast ارسال پیام را بزارین و بگین به روشن شدن گوشی حساس باشه
asad 10 سال پیش
بهار دقیقا همین حساس شدن به روشن شدن گوشی رو من مشکل دارم .... نمیدونم براش تعریف کنم ... لطفا بیشتر توضیح بده ... متشکرم
احمد 10 سال پیش

این برای خاموش شدن

 <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" />

 

 

نظرات

asad 10 سال پیش
خیر نشد که نشد .....
احمد 10 سال پیش
اکشنی برای روشن شدن نیست من فقط REBOOT را پیدا کردم
DeadLine 10 سال پیش


<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" />


کلاس"MyReceiver":
public class MyReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

Toast.makeText(context, "test Text",Toast.LENGTH_SHORT).show();

}

نظرات

احمد 10 سال پیش
این را تست کردم خوده برنامه را باز می کنه
DeadLine 10 سال پیش
تو MyReceiver میتونی هر کدی رو قرار بدی. مثلا من یه سرویس رو اجرا کردم و فقط سرویس اجرا شد; برنامه رو باز نمیکنه:)
احمد 10 سال پیش
من توش toast گذاشتم اما اجرا نمیشه ولی به جاش برنامه باز میشه :-)
احمد 10 سال پیش
یجا نوشته اسم پکیج را هم قبلش بزارین
DeadLine 10 سال پیش
این کد که مشکلی نداره همین الان یه بار دیگه تستش کردم . استاد هم تو بخش 26 از همین کد استفاده میکنه. احتمالا مشکلتون از جای دیگست.
احمد 10 سال پیش

یجا نوشته اسم پکیج را هم قبلش بزارین

 <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);
    }
}

نظرات

asad 10 سال پیش
من که کلا قاطی کردم نمیدونم چی شد ......
احمد 10 سال پیش
دوستان یک نکته مهم نوشتن اگه برنامه روی sd card نصب بشه BOOT_COMPLETED جوابگو نیست لینک
asad 10 سال پیش
والا فعلا که در شرایط عادی هم جوابگو نیست
DeadLine 10 سال پیش
اگ منظورت اینجاست com.example.MyBroadcastReceiver که همون "." به پکیج برنامتون اشاره میکنه.
احمد 10 سال پیش
سم کد دوستمون DarkException را تست کد ببین جواب میده یا نه
احمد 10 سال پیش
DarkException بله اما نوشته بودن گاهی ممکن با نقطه جواب نده
asad 10 سال پیش
بهار بخدا من سم نیستم ( شوخی ) سام هستم ..... امتحان کردم واسه من که نشد بی زحمت شما هم یه تست کن ..... شاید من جایی رو دارم اشتباه میکنم
احمد 10 سال پیش
برای منم هیچ عکس و العملی نداره
DeadLine 10 سال پیش
من که خودم تست کردم دوباره مشکلی نداشت. کلاس MyReceiver خودم رو هم به پاسخ بالا اضافه کردم.
asad 10 سال پیش
DarkException عزیز کدها رو کامل قرار میدی ببینیم .... مرسی
احمد 10 سال پیش

این کد الان جواب داد بهم:
این را در 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(); 
            }
}

نظرات

asad 10 سال پیش
اقا این کد کامل رو قرار بدین ببینم جریان چیه .....
احمد 10 سال پیش
ویرایش کردم

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