How to make my own custom dialer in an Android pho

2020-01-26 09:25发布

问题:

In my application I add an intent so that the user can call:

str="tel:"+phoneArray[11];  
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(str));
startActivity(intent);

Then it calls from Android phone but I want to set up another custom dialer with a different look. What do need to do? I do not mean how to design the dialer, but only how to make a UI that will enter the number and execute a call.

回答1:

Create an app that responds to Intent.ACTION_DIAL. In the AndroidManifest.xml you need to add the following to that Activity:

<intent-filter>
    <action android:name="android.intent.action.DIAL" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

You can take the official phone app as reference. But be warned, it is no trivial task.

You can replace only the Dialer that way. The actual calling thing (what you see during calls) can't be changed.

For more information, see Stack Overflow question Android dialer application.



回答2:

If you want to totally replace the existing phone dialler and manage the call from within your application then the answer is that this can't be done except on custom ROM you build after changing the android source code replacing the default dialler with your own.



回答3:

You can place an overlay over the actual phone call when it shows up. There are loads of phone skin apps like this