Я разрабатываю приложение для Android, чтобы обнаружить пропущенные вызовы, и я приложил все мои кодировок нижеприемник Входящий вызов не работает
AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<receiver android:name="com.mypackage.MyReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter></receiver>
MyReceiver.java:
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent)
{
String state=intent.getStringExtra(TelephonyManager.EXTRA_STATE);
Toast.makeText(context,"Incoming call", Toast.LENGTH_SHORT).show();
if(state==null)
{
Toast.makeText(context,"Null", Toast.LENGTH_SHORT).show();
return;
}
if(state.equals(TelephonyManager.EXTRA_STATE_RINGING))
{
Toast.makeText(context,"Ringing", Toast.LENGTH_SHORT).show();
}
if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK))
{
Toast.makeText(context,"Call received", Toast.LENGTH_SHORT).show();
}
if(state.equals(TelephonyManager.EXTRA_STATE_IDLE))
{
Toast.makeText(context,"Idle", Toast.LENGTH_SHORT).show();
}
}}
Кроме того, у меня есть два мероприятия в моем проекте (одна основная деятельность). Я думаю, что код совершенный и чистый. Но это не работает. Мой приемник не обнаруживает никаких входящих вызовов, так как Toast не отображается во время вызова. Это означает, что метод onReceive() вообще не вызывается при приеме входящего вызова.
Я уже пробовал различные решения, предложенные в Stackoverflow на тот же вопрос задан до тех пор .. Но ничего не решить мою проблему ..
Если кто-то предложить решение, Виль быть более полезным ...
Вы определили свой приемник в своем манифесте? – Rajesh
Только nw отредактировал d сообщение. Извините за неудобства .. – Jeeva
Вы дали правильный путь для своего класса MyReceiver в манифесте приемников, то есть «com.mypackage.MyReceiver» – Gautam