你好,我想知道是否有一种方法可以覆盖来电屏幕以添加更多功能?如果可以,你能否指点我方向或提供一些示例代码?
--------------------------------------------------编辑:-----------------------------
来电接收器已经可以正常工作,但是如何获取当前窗口以覆盖通话界面呢?这是我目前的进展...但我在尝试将上下文转换为活动时遇到了类转换异常,我无法想到其他获取窗口访问权限的方式。
--------------------------------------------------编辑:-----------------------------
来电接收器已经可以正常工作,但是如何获取当前窗口以覆盖通话界面呢?这是我目前的进展...但我在尝试将上下文转换为活动时遇到了类转换异常,我无法想到其他获取窗口访问权限的方式。
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
String state = extras.getString(TelephonyManager.EXTRA_STATE);
Log.w("DEBUG", state);
Log.w("DEBUG", "-------------------------------------------------- Broadcast Received");
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
String phoneNumber = extras
.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
Log.w("DEBUG", phoneNumber);
Activity activity = (Activity)context.getApplicationContext();
Window window = activity.getParent().getWindow();
window.addContentView(window.findViewById(R.layout.textalertbuttonview),null);
Log.w("DEBUG", "------------------------Button Added");
}
}
else {
Log.w("DEBUG", "---------------------------------------------------no Extras");
}
}
经过一些研究,似乎我无法在实际的来电屏幕上添加元素。因此,我必须创建自己的视图并覆盖来电屏幕。但我仍然愿意听取建议... 我看到了“来电加”,但找不到该项目的源代码。