[英]How can I display the incoming number as a Toast?
我必須為學校制作一個簡單的應用程序。
接到電話時,它必須顯示敬酒。
電話接收器不顯示任何內容。
我的清單中有這個,所以權限不應該是問題
<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>
我的廣播接收器的代碼
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 中聲明廣播接收器,就像在Application
標簽中一樣:
<receiver
android:name=".ReceptorLlamadas"
android:enabled="true" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.