标签: telephony

以编程方式拨打电话

如何在iPhone上以编程方式拨打电话?我尝试了以下代码但没有发生任何事情:

NSString *phoneNumber = mymobileNO.titleLabel.text;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
Run Code Online (Sandbox Code Playgroud)

iphone telephony objective-c phone-call ios

137
推荐指数
6
解决办法
11万
查看次数

正则表达式将匹配有效的国际电话号码?

在尝试拨打电话号码之前,我需要确定电话号码是否有效.电话可以去世界任何地方.

正则表达式将匹配有效的国际电话号码?

regex ivr telephony

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

如何以编程方式回答/结束Android 4.1中的通话?

我正在写一个Android应用程序,我需要接听来电,做一些工作,然后结束通话.所有的谷歌搜索后,我能找到两种不同的方式来实现这一二者均不会与最新版本的Android的工作,特别是4.1果冻豆之后.

I.)使用广播接收器中的Java Reflection为"android.intent.action.PHONE_STATE"访问"com.android.internal.telephony.ITelephony".下面的示例代码可以在数百个相关帖子中找到:

public class PhoneCallReceiver extends BroadcastReceiver {
 Context context = null;
 private static final String TAG = "Phone call";
 private ITelephony telephonyService;

@Override
 public void onReceive(Context context, Intent intent) {
  if (!intent.getAction().equals("android.intent.action.PHONE_STATE")) 
    return;

  Log.v(TAG, "Receving....");
  TelephonyManager telephony = (TelephonyManager) 
  context.getSystemService(Context.TELEPHONY_SERVICE);  
  try {
      Log.v(TAG, "Get getTeleService...");
      Class c = Class.forName(telephony.getClass().getName());
      Method m = c.getDeclaredMethod("getITelephony");
      m.setAccessible(true);
      telephonyService = (ITelephony) m.invoke(telephony);
      telephonyService.silenceRinger();
      Log.v(TAG, "Answering Call now...");
      telephonyService.answerRingingCall();
      Log.v(TAG, "Call answered...");
      //telephonyService.endCall();
  } catch (Exception e) {
   e.printStackTrace();
   Log.e(TAG,
           "FATAL ERROR: could …
Run Code Online (Sandbox Code Playgroud)

android telephony

53
推荐指数
4
解决办法
6万
查看次数

检测是否已接听拨出电话

一旦ACTION_NEW_OUTGOING_CALL播出,我需要捕获对方回答的以下事件.您能否就如何实现这一目标提出建议?我知道有可能因为Android拨号器应用程序在他们拿起时激动地将绿色的android图标更改为该人的照片.谢谢!

更新:我已经看过Android上处理传出呼叫的应用程序的来源.我注意到以下方法ContactsUtils:

/**
 * Kick off an intent to initiate a call.
 */

 public static void initiateCall(Context context, CharSequence
 phoneNumber) {
     Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED,
             Uri.fromParts("tel", phoneNumber.toString(), null));
     context.startActivity(intent); }
Run Code Online (Sandbox Code Playgroud)

我想我的回答是在听的活动中Intent.ACTION_CALL_PRIVILEGED.所以重新回答我的问题:有谁知道哪个活动处理Intent.ACTION_CALL_PRIVILEGED?先谢谢你

android telephony android-intent

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

如何在Android中挂断电话?

我正在开发一个应用程序,其中我们需要的一件事是控制传出呼叫,至少能够从我们的应用程序中阻止它.

我尝试过使用Intent.ACTION_CALL现有的活动:

Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); 
startActivity(callIntent); 
Run Code Online (Sandbox Code Playgroud)

但是通过API似乎不允许停止呼叫.

你能建议一些解决方法吗?

例如:在通话期间启用飞机模式?只是一个例子; 这个黑客对我不起作用.

android telephony telephonymanager

45
推荐指数
6
解决办法
4万
查看次数

如何为Gingerbread上运行的应用程序授予MODIFY_PHONE_STATE权限

我写了一个试图修改电话呼叫状态的应用程序.它在Android 2.2或更低版本上运行良好,但在Android 2.3上抛出异常,因为缺少对android.permission.MODIFY_PHONE_STATE权限的许可(我在AndroidManifest.xml上声明了此权限).任何的想法?以下是异常日志:

01-15 09:14:23.210: ERROR/AndroidRuntime(404): FATAL EXCEPTION: main
01-15 09:14:23.210: ERROR/AndroidRuntime(404): java.lang.RuntimeException: Unable to start receiver test.PhoneReceiver: java.lang.SecurityException: Neither user 10031 nor current process has android.permission.MODIFY_PHONE_STATE.
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:1780)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at android.app.ActivityThread.access$2400(ActivityThread.java:117)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:978)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at android.os.Looper.loop(Looper.java:123)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at android.app.ActivityThread.main(ActivityThread.java:3647)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at java.lang.reflect.Method.invokeNative(Native Method)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at java.lang.reflect.Method.invoke(Method.java:507)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-15 09:14:23.210: ERROR/AndroidRuntime(404):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-15 09:14:23.210: …
Run Code Online (Sandbox Code Playgroud)

permissions android telephony exception

37
推荐指数
4
解决办法
6万
查看次数

谷歌的Messenger应用程序在发送彩信时不附加图像

我无法在Google的Messenger应用上发送带有图片的彩信.虽然一些Android设备默认安装这个短信应用程序,为此我发送彩信使用时Intent它不起作用.

问题是ToNumber和MMS内容设置,但图像不附加在此应用程序上.

注意: 我已经在我的设备上设置了MMS APN设置,我已经在多个设备上检查了三星s4,摩托罗拉G4 Plus等应用程序.

这是我目前使用的代码.

 String toNumbers = "comma seperated mobile numbers";

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
    {
        String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(getActivity()); 

        Intent sendIntent = new Intent(Intent.ACTION_SEND);
        sendIntent.putExtra("address", toNumbers);
        sendIntent.setPackage("com.android.mms");
        //Uri uri = Uri.fromFile(new File(getContext().getExternalFilesDir(""), "image.png"));

        File imagePath = new File(getFilesDir(), "images");
        File newFile = new File(imagePath, "image.png");
        Uri uri = getUriForFile(this, "packagename", newFile);

        File file = new File(contentUri.getPath());
        if (file.exists()) {
            //Do something
            Log.d("TAG","Exist");
        }
        sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
        sendIntent.setType("image/png");
        sendIntent.putExtra("sms_body", getString(R.string.sms_body, HostName));
        if (defaultSmsPackageName != …
Run Code Online (Sandbox Code Playgroud)

android telephony mms android-intent

32
推荐指数
1
解决办法
650
查看次数

在通话期间禁用接近传感器

我放下手机,看起来我的接近传感器不再可靠.它一直返回近处.问题是,在通话期间显示屏关闭,我将无法使用数字键盘输入别针或会议另一个电话,甚至断开呼叫.我在辅助功能设置中找到了电源按钮断开连接选项并立即使用它.

我试图创建一个应用程序,试图在收到一个电话时获得一个完整的唤醒锁,希望它能保持显示.

  • 创建一个广播接收器,当电话状态变为OFFHOOK时调用服务

  • 该服务获得一个完整的唤醒锁,只有当手机状态为IDLE时才会释放它.

但是,接近传感器会关闭显示屏.我使用isHeld()方法来确保获取锁.我使用了PowerManager的isScreenOn()方法,即使在通话期间屏幕关闭时它也返回true.我试图在一个循环中每两秒获取一次唤醒锁进行测试,但显示器仍然不会出现.

我正在使用Nexus 5 Android版本4.4.4

任何人都可以建议超越接近传感器的行为吗?根要求的选项也没关系.

谢谢!

android telephony telephonymanager proximitysensor android-dialer

30
推荐指数
5
解决办法
15万
查看次数

在Android中获取信号强度

我希望在我点击API调用时得到设备的信号强度.我搜索了所有相关的主题,但我还没有成功.

所以我想获得信号强度

SignalStrength ss = null  ; // some initialization

int n = ss.getGsmSignalStrength();
Run Code Online (Sandbox Code Playgroud)

但是在使用它的时候,很明显我会得到空指针异常,因为我初始化SignalStrength为null.但我不知道如何初步化.

此外,我不想使用,PhoneStateListener因为只有在信号发生变化时才会触发它.

我使用下面的代码获得信号强度

TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
cellSignalStrengthGsm.getDbm();
Run Code Online (Sandbox Code Playgroud)

但我不想使用,CellSignalStrength因为它只在API级别17中添加,并且不会在17下工作.我希望代码能够在API Level 7+上运行.

或者是否有其他方法,以便我可以在达到API调用时获得信号强度?

android telephony signal-strength

24
推荐指数
4
解决办法
5万
查看次数

以编程方式结束来电

这是SO中一个熟悉的问题.我需要的是以编程方式结束通话.我经常搜索过......

http://androidsourcecode.blogspot.in/2010/10/blocking-incoming-call-android.html http://androiddesk.wordpress.com/2012/08/02/blocking-a-call-without-user-intervention -in-的Android /

在android中拒绝来电

如何以编程方式回答/结束Android 4.1中的通话?

http://www.emoticode.net/android-sdk/block-incoming-and-outgoing-phone-calls-programmatically.html

如何在android中阻止调用

如何在Android应用程序开发中阻止手机号码呼叫和消息接收?

http://androidsourcecode.blogspot.in/2010/10/blocking-incoming-call-android.html

还有更多问题,答案和建议......

所有人都说ITelephonyService.aidlTelephonyManager结合使用

并且该解决方案在许多设备上都运行良好,但它不适用于Samsung S Duos.我挣扎了一个星期,但没有得到解决方案..是否有任何特殊的API可以在这种类型的设备上工作?我如何拒绝来电?请帮我...

android telephony telephonymanager

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