在broadcastReceiver中:
public void onReceive(最终上下文上下文,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>
答案 0 :(得分:0)
您必须在清单文件中添加以下权限;
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
然后在“设置”中启用应用“权限”中的“电话” - &gt; '应用' - &gt;申请 - &gt; '许可'。
谢谢。