بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
خواندن شماره تماس گیرنده (حل شد)
سلام
تو یه برنامه نیاز دارم در برود کست شماره هایی که باهام تماس میگیرن رو تو یه دیتابیس ذخیره کنم
برای خواندن شماره ها به چه پرمیشن و کدی نیاز هستش ممنون میشم اگه راهنماییم کنین
مرسی
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>
موفق باشین
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .