ورود

View Full Version : سیو کردن شماره تماس گیرنده



amin1058
پنج شنبه 01 مرداد 1394, 00:57 صبح
سلام
چه طور میتونم شماره ی کسی که با من تماس میگیرد را ذخیره کنم؟

ehsan2883
پنج شنبه 01 مرداد 1394, 01:54 صبح
شما باید یک سرویس به برنامت اضافه کنی. این سرویس، حتی با بسته شدن برنامه به کار خودش ادامه میده و بسته نمیشه. در این حالت، سرویس در حال گوش دادن یا همون اسنیف کردنه. وقتی کسی تماس میگیره، این سرویس شمارش رو بهتون میده. اینم کدش(البته سرچ میکردین به نتیجه میرسیدین):

ابتدا توی منیفست سرویس رو تعریف کنید:



<receiver android:name=".ServiceReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>


بعدش یه کلاس میسازید و اونو از BroadcastReceiver اکستندز می کنید و بقیه ماجرا...



public class ServiceReceiver extends BroadcastReceiver {

@Override
public void onReceive(final Context context, Intent intent) {
TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context .TELEPHONY_SERVICE);
telephony.listen(new PhoneStateListener(){
@Override
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
System.out.println("incomingNumber : "+incomingNumber);
}
},PhoneStateListener.LISTEN_CALL_STATE);
}