我尝试在服务中注册和取消注册手机状态广播接收器,但它根本没有解雇我已经在清单中声明了手机状态权限。
这是我的广播接收器。
php -S <port>
这是注册和取消注册广播的服务。
kill -9 PID
这就是我启动服务的方式
public class IncomingCalls extends BroadcastReceiver {
private static String mLastState;
@Override
public void onReceive(Context context, Intent intent) {
Log.i(ApplicationUtils.TAG, "IncomingCalls");
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
if (!state.equals(mLastState)) {
mLastState = state;
Log.i(ApplicationUtils.TAG, state);
if (mLastState==TelephonyManager.EXTRA_STATE_RINGING) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, CallListenService.MESSAGE, null, null);
}
}
}
}
之前有效,但现在根本没有工作。
答案 0 :(得分:0)
我发现这个bug与android 6.0有关 我需要询问你的READ_PHONE_STATE权限,之后braodcast接收器开始射击。