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

خواندن شماره تماس گیرنده (حل شد)

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

سلام

تو یه برنامه نیاز دارم در برود کست شماره هایی که باهام تماس میگیرن رو تو یه دیتابیس ذخیره کنم

برای خواندن شماره ها به چه پرمیشن و کدی نیاز هستش ممنون میشم اگه راهنماییم کنین

مرسی

 

نظرات

میلاد 11 سال پیش
اینو قبلا تست کردم جواب نداد این با TELEPHONY_SERVICE کار میکنه کدایی پیدا کردم که با ACTION_DIAL کار میکنه ولی از اینا هم جواب نگرفتم

پاسخ‌ها 1

میلاد 11 سال پیش

ابتدا یه کلاس میسازیم به شکل

 public class CustomPhoneStateListener extends PhoneStateListener {

public void onCallStateChange(int state, String incomingNumber) {

switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
break;
}
}
}

بعد یه برود کست به شکل

 public class CustomBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
TelephonyManager telephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
CustomPhoneStateListener customPhoneListener = new CustomPhoneStateListener();

telephony.listen(customPhoneListener, PhoneStateListener.LISTEN_CALL_STATE);

Bundle bundle = intent.getExtras();
String phoneNr = bundle.getString("incoming_number");
Log.i("Log", "n" + phoneNr);
}

}

پرمیشن

  <uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

رسیور

         <receiver   android:name=".CustomBroadcastReceiver">
<intent-filter android:priority="100" >
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>

موفق باشین

نظرات


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