آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

میلاد  11 سال پیش  11 سال پیش
+1 0

سلام

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

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

مرسی

 

0 0
لینک (11 سال پیش)
0 0
اینو قبلا تست کردم جواب نداد این با TELEPHONY_SERVICE کار میکنه کدایی پیدا کردم که با ACTION_DIAL کار میکنه ولی از اینا هم جواب نگرفتم (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
میلاد  11 سال پیش
+2 0

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

 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>

موفق باشین


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