广播接收器中的吐司

开发者

我正在尝试一个简单的代码,以便在接到电话时将来电显示为烤面包。

我收到以下错误:

 03-11 13:34:41.143: E/AndroidRuntime(27141): java.lang.NullPointerException
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at android.widget.Toast.<init>(Toast.java:93)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at android.widget.Toast.makeText(Toast.java:241)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at com.demotest.ringer.PhoneListenerBroad$MyPhoneStateListener.onCallStateChanged(PhoneListenerBroad.java:47)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at android.telephony.PhoneStateListener$2.handleMessage(PhoneStateListener.java:369)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at android.os.Handler.dispatchMessage(Handler.java:102)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at android.os.Looper.loop(Looper.java:136)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at android.app.ActivityThread.main(ActivityThread.java:5017)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at java.lang.reflect.Method.invokeNative(Native Method)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at java.lang.reflect.Method.invoke(Method.java:515)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
 03-11 13:34:41.143: E/AndroidRuntime(27141):   at dalvik.system.NativeStart.main(Native Method)

以下是我正在尝试的代码:

 public class PhoneListenerBroad extends BroadcastReceiver  
  { 
    @Override
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 
{
    private Context context;

    public void onCallStateChanged(int state, String incomingNumber) 
    {

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

        if (state == 1) 
        {
            String msg = "New Phone Call Event. Incomming Number : "+incomingNumber;
            Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
        }
    }
}
}

清单具有必需的权限和声明。.我不确定要往哪里出错?

恩·巴丹尼
public class PhoneListenerBroad extends BroadcastReceiver{
Context c;

@Override
public void onReceive(Context context, Intent intent) {
    c = context;
    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
{
    private Context context;

    public void onCallStateChanged(int state, String incomingNumber) {

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

        if (state == 1) {
            String msg = "New Phone Call Event. Incomming Number : " + incomingNumber;
            Toast.makeText(c, msg, Toast.LENGTH_SHORT).show();
        }
    }
}}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

广播接收器

来自分类Dev

在广播接收器中更新TextView

来自分类Dev

BaseAdaper中的广播接收器

来自分类Dev

片段中的广播接收器无法从服务接收意图

来自分类Dev

广播接收器未在android中接收意图数据。

来自分类Dev

广播接收器vs唤醒广播接收器

来自分类Dev

广播接收器或服务?

来自分类Dev

接收并注册广播接收器

来自分类Dev

访问广播接收器中的应用程序类

来自分类Dev

在广播接收器中管理多个警报

来自分类Dev

在广播接收器中访问ViewModel生成的数据

来自分类Dev

如何管理服务中的广播接收器

来自分类Dev

整个应用程序中的广播接收器

来自分类Dev

广播接收器中PACKAGE_INSTALL的替代方法

来自分类Dev

如何在广播接收器中启动服务?

来自分类Dev

Android在广播接收器中重复警报

来自分类Dev

CanvasWatchFaceService中的自定义广播接收器

来自分类Dev

如何在广播接收器中访问 MyViewModel(AndroidViewModel)

来自分类Dev

Oreo+ 中的 SMS 广播接收器

来自分类Dev

我的广播接收器未从本地服务接收广播

来自分类Dev

Android 广播接收器未接收显式广播?

来自分类Dev

使用清单注册广播接收器

来自分类Dev

广播接收器未注册

来自分类Dev

广播接收器的生命周期

来自分类Dev

AlarmManager无法从广播接收器工作

来自分类Dev

应用内广播接收器

来自分类Dev

通知广播接收器的片段或活动

来自分类Dev

广播接收器未注销

来自分类Dev

分别注销广播接收器的操作