I\'m trying to make an new incoming call screen in android,
when i get an incoming call my app starts - but crashes immediately, and the default incoming call scree
You are getting a ClassCastException because your manifest defines MyPhoneBroadcastReceiver as a receiver, not an activity. You don't need an activity to create the intent, since it takes a Context, and one is provided with onReceive(). Have it extend BroadcastReceiver and alter the intent slightly like this:
public class MyPhoneBroadcastReceiver extends BroadcastReceiver{
public void onReceive(final Context context, Intent intent) {
Intent main_intent = new Intent(context, CallActivity.class);
context.startActivity(main_intent);
}
}