PDA

View Full Version : نمایش شماره تلفن زمانی که گوشی زنگ می خورد؟؟؟؟



javad_r_85
جمعه 17 شهریور 1396, 13:38 عصر
چطور می تونم زمانی که گوشی زنگ می خورد، برنامه من بالا بیاد و شماره تلفن شخصی که زنگ می زند به همراه مشخصات اون را را نمایش دهد؟؟؟

محمد رضا فاتحی
شنبه 18 شهریور 1396, 01:05 صبح
سلام...
باید یه BroadCast تعریف کنید یه نمونه کد براتون میزارم
اول تو مانیفست اینو تعریف کنید

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


یه کلاس تعریف کنید و این کدها رو داخلش کپی کنید

public class IncomingCall extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

try {
// TELEPHONY MANAGER class object to register one listner
TelephonyManager tmgr = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);

//Create Listner
MyPhoneStateListener PhoneListener = new MyPhoneStateListener();

// Register listener for LISTEN_CALL_STATE
tmgr.listen(PhoneListener, PhoneStateListener.LISTEN_CALL_STATE);

} catch (Exception e) {
Log.e("Phone Receive Error", " " + e);
}


}


private class MyPhoneStateListener extends PhoneStateListener {


public void onCallStateChanged(int state, String incomingNumber) {

Log.d("MyPhoneListener",state+" incoming no:"+incomingNumber);


if (state == 1) {


String msg = "New Phone Call Event. Incomming Number : "+incomingNumber;
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(pcontext, msg, duration);
toast.show();


}
}
}
}