首页 文章

使用广播接收器来接收来电,onReceive没有触发?无法打印日志

提问于
浏览
0

在broadcastReceiver中:

public void onReceive(final Context context,Intent intent){

Log.e("Current:","entered111!");

  String stateStr = intent.getExtras().getString(TelephonyManager.EXTRA_STATE);
  String incomingNumber = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
  if(stateStr.equals(TelephonyManager.EXTRA_STATE_RINGING)){



      Intent intent1=new Intent(context,myService.class);
      intent1.putExtra("incomingNumber",incomingNumber);
      context.startService(intent1);
    }
}

这是我的清单文件

<activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
 </activity>
  <service android:name=".myService" />
  <receiver android:name=".ServiceReceiver"
        android:enabled="true">
  <intent-filter>
        <action android:name="android.intent.action.PHONE_STATE" />
  </intent-filter>
  </receiver>

1 回答

  • 0

    您必须在清单文件中添加以下权限;

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

    然后在“设置” - >“应用” - >“应用” - >“权限”中启用应用“权限”中的“电话” .

    谢谢 .

相关问题