相关疑难解决方法(0)

Android拨号程序

我正在找出一种方法来替换我的自定义拨号器应用程序中的默认拨号器应用程序,但我没有得到如何实现这一点.

这就是我想要的

  • 创建自定义拨号器UI
  • 每当按下呼叫按钮硬件或Android中的硬件时,都会调用我的应用程序
  • 也可以从联系人屏幕调用该应用程序

我指的是public static final String ACTION_DIAL.

android phone-call

31
推荐指数
2
解决办法
5万
查看次数

使用android.telecom和InCallService接听来电

从API 21开始,Google一直在为android.telecom添加功能,特别是通过实现更多的TelecomManager成员和添加InCallService.最后一个应该允许非系统的第三方应用程序提供和替换系统Calls app in-call屏幕的功能 - 弹出的窗口允许操作EXTRA_STATE_OFFHOOKEXTRA_STATE_RINGING广播(即传入和传出的电话呼叫) ).

目前,只有这个屏幕可以完全控制振铃和活动呼叫以及具有细粒度信息的相关系统回调,通过根限制MODIFY_PHONE_STATE权限和许多安全的AOSP代码甚至无法通过反射访问.它特别是不同制造商的ROM风格中最变化的代码之一,以及发射器,触点和相机.

这一切都非常漂亮,但......

你如何实际开发第三方InCallService?

即:

  1. 如何获得有关GSM呼叫的通知和获取GSM呼叫的实例
  2. 如何回答这些电话
  3. 这个类的回调的生命周期是什么
  4. Google是否提供了我尚未找到的任何实际教程

我不会立刻问所有这些问题的答案,但任何一个答案都可能与其他问题有关.这是广泛的,但本质上它需要是:在网络上没有任何例子我偶然发现了AOSP代码,而且该代码基于root权限的假设,这使得它无法用于第三方应用程序开发目的.

android gsm telecommunication

17
推荐指数
2
解决办法
2万
查看次数

PhoneGap:在应用程序内拨打电话

有没有办法在使用PhoneGap的应用程序中发起电话呼叫?

我知道可以使用tel:超链接来调用拨号程序,但这意味着应用程序已暂停.我试图从应用程序内部开始工作.

有任何想法吗?

javascript cordova

10
推荐指数
1
解决办法
2万
查看次数

如何从Google搜索网站结果推广/打开应用?

背景

当您在Android设备上的Google搜索引擎网站(通过Chrome网络浏览器)搜索"如何到达X"(其中X是地理位置,如城市名称)时,显示的第一个项目是卡片允许导航到您编写的位置.

选择导航时,有两种选择:

  • 如果Android设备安装了Google地图,则会打开该应用并在那里导航.
  • 如果Android设备没有安装Google地图,则会将其发送到应用页面的Play商店进行安装.

如下所示:

在此输入图像描述

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

在此输入图像描述

这个问题

  1. 是否有促销计划或服务或任何以这种方式推广网站/应用程序(深层链接和搜索框)?如果是这样,我应该从哪里开始?

  2. 假设您已经有一个可以执行搜索查询的网站,您如何检查应用程序是否已安装(在网站内部,而不是通过Google的搜索引擎),并采取相应措施?这可以仅在Google Chrome应用上完成吗?

应该做什么(android-app,网站和其他代码)才能拥有这些功能?

android google-chrome google-search deep-linking android-app-indexing

8
推荐指数
1
解决办法
1769
查看次数

Android手机通话UI - 更改

如何更改电话呼叫用户界面?就像我有自己的拨号器布局和联系人布局,但我如何更改调用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)

user-interface android phone-call

8
推荐指数
2
解决办法
8300
查看次数

使用InCallService替换Android 6和7上的默认Phone应用

添加InCallService了Android API级别23,以提供用于管理电话的用户界面。该文档提供了清单注册示例,但我无法使它正常工作。该应用可以正常编译,但设置中的默认应用不会显示我的应用。

我发现有关该主题的任何信息的唯一地方是年前关闭的StackOverflow问题。对提出增加android.intent.action.DIAL活动的那个问题发表评论,但这也无济于事。我在活动中也尝试了其他其他意图的组合(android.intent.action.CALL_DIALandroid.intent.action.ANSWER)。

是否有替换手机应用程序所需的代码示例?这些类是否需要提供一些工作方法供应用程序显示?

android android-intent android-6.0-marshmallow android-7.0-nougat android-7.1-nougat

5
推荐指数
1
解决办法
4314
查看次数