外拨电话的广播:
可以通过String action = intent.getAction();获得广播的事件类型
1 定义广播类:
/**
* Created by Administrator on 2017/12/5.
*/
/* 外拨打电话需要加权限:
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
*/
public class OutGoingCall extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String CurrentNumber = getResultData();//广播类 里面定义的方法 携带广播数据
/* 你一拨打电话 系统就会发送广播 此方法就返回发送广播前的数据*/
Toast.makeText(context, "拨打电话了呢"+CurrentNumber, Toast.LENGTH_SHORT).show();
}
}
2 清单文件进行注册
<receiver android:name=".OutGoingCall">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL">
</action>
</intent-filter>
</receiver>
3 小细节 此处需要配置一个data 约束类型为file 因为sdcard里的数据类型
是file (添加data的不多很少)
如果注册sdcard 还需要添加<data android.scheme="file"/>
网友评论