android呼叫转移代码,动态Android呼叫转移

news/2024/11/8 14:44:32/

我正在开发移动APP,我需要根据联系人组将呼入转移到不同的号码。我将我的联系人分组,每个组都有不同的呼叫转移号码。当我收到来电时,我应该转发它的群组。动态Android呼叫转移

我PhoneStateListener在Call_State_Ringing写了这个代码:

package com.example.user2.callforwardnew;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

import android.net.Uri;

import android.os.Bundle;

import android.telephony.PhoneStateListener;

import android.telephony.TelephonyManager;

import android.util.Log;

import android.widget.Toast;

public class CallActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TelephonyManager telephonyManager =

(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

PhoneStateListener callStateListener = new PhoneStateListener() {

public void onCallStateChanged(int state, String incomingNumber){

if(state==TelephonyManager.CALL_STATE_RINGING){

String url = "tel:" + "**21*" + "XXXXX" + Uri.encode("#");

Intent intent1 = (new Intent(Intent.ACTION_CALL, Uri.parse(url)));

intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent1);

}

if(state==TelephonyManager.CALL_STATE_OFFHOOK){

Toast.makeText(getApplicationContext(),"Phone is Currently in A call",

Toast.LENGTH_LONG).show();

}

if(state==TelephonyManager.CALL_STATE_IDLE){

Toast.makeText(getApplicationContext(),"phone is neither ringing nor in a call",

Toast.LENGTH_LONG).show();

}

}

};

telephonyManager.listen(callStateListener,PhoneStateListener.LISTEN_CALL_STATE);

}

}

的问题是:当第一个电话来了也不会转发它只是在电话呼叫转移登记XXXX号。那么第二个电话会在正确的时间转发。 的问题: 我如何转发来电根据来电显示

+0

_第一次来电时,它不会被转发,它只是在电话转接中注册xxxx号码。您能解释一下吗,这个不清楚 –

+0

第一:电话转接设置被禁用。 打开:设置>我的设备>呼叫>附加设置>呼叫转移>语音呼叫。 然后第一个电话会来,手机将测距,并没有呼叫转移。但是第一次来电后,电话转接设置将被启用,并且xxxx号码将被登记在电话呼叫转接设置中。 第二次收入电话会正确转发给xxxx。 –

+0

嗯,我猜你的意图是启用设置(不知道这个系统)。所以我认为这是逻辑。收到的电话已经收到,因此转发已经晚了。你可以尝试手动。 (不知道你可以改变设置将接到一个电话,但它probalby将不会被转发,如果它已经振铃) –


http://www.ppmy.cn/news/477321.html

相关文章

4. Redis高并发分布式锁实战---大厂生产级Redis高并发分布式锁实战

分布式缓存技术Redis 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 课程内容: 1、高并发场景秒杀抢购超卖Bug实战重现 2、秒杀抢购场景下实战JVM级别锁与分布式锁 3、大厂分布式锁Redisson…

S4实现机理介绍

S4是yahoo开源的一套流式数据处理系统,什么是流式处理系统,顾名思义,我们把实时处理模块作为一个黑盒(这个黑盒的具体实现我们在下文中讨论),这个黑盒有很多接入管道,待处理数据可以从这些管道实…

R语言基础:S3和S4 class

用R进行数据处理时,经常出现S4 class的数据类型,或在软件包的帮助文件中描述为S4 class,那么什么是S3和S4 class呢? 参考资源:R语言S3类的理解与构建 - ywliao - 博客园 R语言基础教程——第7章:面向对象编…

LQB,手打,at24C02,S7按键保留char数据,S6按键读取char数据,S5存入int数据,S4读取int数据

任务, 将提供的i2c.c和i2c.h文件复制到工程目录路径中; 修改i2c.c和i2c。h的头文件,改为stc15.h 将i2c头文件,延时时间,修改成15单片机的时间,需要乘以10倍以上才行, 不然时序不对 在i2c.h文件…

S4——数组

目录 1. 一维数组的创建和初始化 1.2 一维数组的使用 1.3 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.2 二维数组的使用 2.3 二维数组在内存中的存储 3. 数组越界 4. 数组作为函数参数 4.1 冒泡排序 4.2 数组名是什么? 1. 一维数组的创建 …

Atcoder Beginner Contest 269(A-G)

Atcoder Beginner Contest 269 A - Anyway Takahashi 题目太水了&#xff0c;一年级小朋友都可以做 #include<bits/stdc.h> using namespace std; int main(){int a,b,c,d;cin>>a>>b>>c>>d;cout<<(ab)*(c-d)<<endl;cout<<&…

S4语法整理

1. VALUE type( ... )&#xff0c;DATA(WA) 临时定义类型并且赋值给构造 TYPES:BEGIN OF TY_TAB,ZCHAR1 TYPE C LENGTH 10,ZCHAR2 TYPE C LENGTH 10,ZCHAR3 TYPE C LENGTH 10,ZCHAR4 TYPE C LENGTH 10,END OF TY_TAB.DATA(WA) VALUE TY_TAB( ZCHAR1 1 ZCHAR2 2 ZCHAR3 3 Z…

S4 MIGO屏幕增强

1.创建结构和表 结构&#xff1a;ZSMIGO_ITEM 表类型&#xff1a; 表 &#xff1a;ZTMIGO_ITEM&#xff08;用来保存增强字段的值&#xff09; 2.创建函数组 TOP里的代码&#xff1a; FUNCTION-POOL zfg_migo. "MESSAGE-ID ..* INCLUDE LZFG_MIGOD..…