我正在找出一种方法来替换我的自定义拨号器应用程序中的默认拨号器应用程序,但我没有得到如何实现这一点.
这就是我想要的
从API 21开始,Google一直在为android.telecom添加功能,特别是通过实现更多的TelecomManager成员和添加InCallService.最后一个应该允许非系统的第三方应用程序提供和替换系统Calls app in-call屏幕的功能 - 弹出的窗口允许操作EXTRA_STATE_OFFHOOK或EXTRA_STATE_RINGING广播(即传入和传出的电话呼叫) ).
目前,只有这个屏幕可以完全控制振铃和活动呼叫以及具有细粒度信息的相关系统回调,通过根限制MODIFY_PHONE_STATE权限和许多安全的AOSP代码甚至无法通过反射访问.它特别是不同制造商的ROM风格中最变化的代码之一,以及发射器,触点和相机.
这一切都非常漂亮,但......
你如何实际开发第三方InCallService?
即:
我不会立刻问所有这些问题的答案,但任何一个答案都可能与其他问题有关.这是广泛的,但本质上它需要是:在网络上没有任何例子我偶然发现了AOSP代码,而且该代码基于root权限的假设,这使得它无法用于第三方应用程序开发目的.
有没有办法在使用PhoneGap的应用程序中发起电话呼叫?
我知道可以使用tel:超链接来调用拨号程序,但这意味着应用程序已暂停.我试图从应用程序内部开始工作.
有任何想法吗?
当您在Android设备上的Google搜索引擎网站(通过Chrome网络浏览器)搜索"如何到达X"(其中X是地理位置,如城市名称)时,显示的第一个项目是卡片允许导航到您编写的位置.
选择导航时,有两种选择:
如下所示:

此外,在某些情况下,对于某些内容,Google可以在其找到的网站内添加一个额外的文本框进行搜索,以获得结果.这种事情发生在希伯来语网站"Zap"(比较产品价格):

是否有促销计划或服务或任何以这种方式推广网站/应用程序(深层链接和搜索框)?如果是这样,我应该从哪里开始?
假设您已经有一个可以执行搜索查询的网站,您如何检查应用程序是否已安装(在网站内部,而不是通过Google的搜索引擎),并采取相应措施?这可以仅在Google Chrome应用上完成吗?
应该做什么(android-app,网站和其他代码)才能拥有这些功能?
android google-chrome google-search deep-linking android-app-indexing
如何更改电话呼叫用户界面?就像我有自己的拨号器布局和联系人布局,但我如何更改调用UI.那么,当呼叫正在进行时,我可以取下扬声器按钮吗?
这是我创建的拨号场景:拨号器图片
但我不知道如何编辑这个屏幕:调用图片
编辑:我已经建立了UI,我只是无法在通话期间显示它!
以下是更简单版本的代码:
public class MainActivity extends Activity {
private Button callBtn;
private Button dialBtn;
private EditText number;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
number = (EditText) findViewById(R.id.phoneNumber);
callBtn = (Button) findViewById(R.id.call);
dialBtn = (Button) findViewById(R.id.dial);
// add PhoneStateListener for monitoring
MyPhoneListener phoneListener = new MyPhoneListener();
TelephonyManager telephonyManager =
(TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
// receive notifications of telephony state changes
telephonyManager.listen(phoneListener,PhoneStateListener.LISTEN_CALL_STATE);
callBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
// set the data …Run Code Online (Sandbox Code Playgroud) 添加InCallService了Android API级别23,以提供用于管理电话的用户界面。该文档提供了清单注册示例,但我无法使它正常工作。该应用可以正常编译,但设置中的默认应用不会显示我的应用。
我发现有关该主题的任何信息的唯一地方是一年前关闭的StackOverflow问题。对提出增加android.intent.action.DIAL活动的那个问题发表评论,但这也无济于事。我在活动中也尝试了其他其他意图的组合(android.intent.action.CALL_DIAL和android.intent.action.ANSWER)。
是否有替换手机应用程序所需的代码示例?这些类是否需要提供一些工作方法供应用程序显示?
android android-intent android-6.0-marshmallow android-7.0-nougat android-7.1-nougat