如何将来电显示为敬酒?

  • 本文关键字:显示 来电 java android
  • 更新时间 :
  • 英文 :


我要为学校做一个简单的App。

来电时必须显示敬酒。

电话听筒没有显示任何信息。

我在清单中有这个,所以权限不应该是问题

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

<receiver
android:name=".ReceptorLlamadas"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>
</receiver>

broadcastReceiver的代码

public class ReceptorLlamadas extends BroadcastReceiver {
Context context;
@Override
public void onReceive(Context c, Intent intent) {
try {
TelephonyManager manager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
LlamadaListener listener = new LlamadaListener();
manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);          
} catch (Exception e) {
Log.e("PhoneCallError", "onReceive: ", e);
}
}
private class LlamadaListener extends PhoneStateListener {
public void onCallStateChanged(int state, String phoneNumber) {
if (state == 1) {
String mensaje = "Llamada entrante del número: " + phoneNumber;
int duracion = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, mensaje, duracion);
toast.show();
}
}
}
}

抱歉我把格式弄乱了

编辑:忘记包含一些代码

你需要在Android Manifest中声明Broadcast Receiver,就像这样在Application标签:

<receiver
android:name=".ReceptorLlamadas"
android:enabled="true" />

最新更新