使用Android TelephonyManager类中的getCallState()方法来检测来电状态,然后使用Android Intent类中的ACTION_PHONE_STATE_CHANGED意图处理程序来显示来电号码。
下面是一个简单的程序示例:
在AndroidManifest.xml文件中加入以下权限:
在Java程序类中添加以下代码:
public class MainActivity extends AppCompatActivity {
TextView tvNumber;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvNumber = findViewById(R.id.tv_number);
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener listener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
tvNumber.setText(incomingNumber);
}
}
};
tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
}
}
这个程序将在来电振铃时显示来电号码。
上一篇:安卓捆绑测试发布
下一篇:安卓垃圾回收器花费太多时间。