- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 Activity 可以通过 intent-filter
捕捉 ACTION_CALL
Intent ,并通过我的应用进行路由,这在 Nexus one、Moto Blur 和三星设备上运行良好
。但不是 HTC sense。 :(
Intent.ACTION_CALL_BUTTON
在按下 HTC sense 按钮时调用,但是当您调用 ACTION_CALL
时未收到日志输出显示android.intent.action.CALL
被发送。
06-17 12:22:45.173: INFO/ActivityManager(83): Starting activity: Intent {
act=android.intent.action.CALL dat=tel:00390642200001 flg=0x10000000
cmp=com.android.phone/.InCallScreen (has extras) }
我猜这是因为 HTC 已经安装了自己的 sense 拨号器并且它在做一些有趣的事情(也许有 intent 过滤器优先级?)。
更新 1:尝试将优先级设置为最大 int 值,没有变化。
<intent-filter android:priority="2147483647">
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.CALL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
最佳答案
您可能会感到惊讶,但您是对的。我在 HTC Desire 上做了很多关于这个主题的实验,我发现 HTC 在包管理器中做了一些更改或添加了一些包装器,所以每当我们添加具有操作 CALL 的 Activity 时,它就不会添加 ACTION CALL。他们这样做只是为了 CALL 操作,而不是为了 DIAL。为了找出这一点,我做了一些实验:
1. 创建了一个使用 ACTION DIAL 注册的应用程序。因此,每当调用 __ACTION_DIAL__ Intent Activity 时,HTC 都会显示两个选项,一个是自己拨号,另一个是我的 Activity 。另一种测试拨号的方法是转到 HTC 手机中的通话记录并选择任何电话号码或联系人,然后选择**在调用前编辑号码**。这也将显示两个选项以选择一个。
2. 由于他们以编程方式禁用调用功能,所有其他调用方式都是通过与 HTC 的 UI 交互来完成的。因此,我找到了另一种以编程方式调用的方法,即在我的 list 文件中使用Bamm.. 这次 HTC 显示了选择一个选项来调用的选项。一个是它自己的,另一个当然是我自己的。
最后的结论是,您只能在某些情况下处理 CALL 但 CALL_PRIVILEGED。要确保在您的 HTC 上使用 skype 应用程序并转到People -> View Contact 然后按住 Call mobile/home 然后这还会显示用于选择 Call 处理程序的对话框。
关于android - 拦截 HTC sense 上的 ACTION_CALL Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6385164/
我想通过单击菜单中的按钮来调用电话。该操作有效,但不正确,因为当我单击按钮时会启动一个空白页面,当我单击后退按钮时,调用会开始!我没有找到错误,你能帮我吗? 这是我的代码: /*Fare una te
正在开发我想要 Intent.ACTION_DIAL 的功能。以下是我到目前为止尝试过的代码。 Intent callIntent = new Intent(Intent.ACTION_DIA
这个问题在这里已经有了答案: Android permission doesn't work even if I have declared it (11 个答案) 关闭 7 年前。 出于某种原因,
我需要在我的应用程序中调用后台,所以当用户点击一个按钮时,它应该开始在后台调用,用户会知道他正在调用,但他不会看到拨号器,他会看到应用程序, 在通话时重现声音。 所以基本上我想要的是在不退出 Acti
在我的 Android应用程序我想在用户单击按钮时自动调用电话。我已经使用下面的一组代码来实现这个功能 Intent intent = new Intent(Intent.ACTION_CALL);
我正在尝试使用 Intent.Action 类。我知道如何使用 ACTION_VIEW 来显示 URL,但我想在应用程序启动时使用 Intent.ACTION_DIAL 来调用号码。文档说您需要将 U
我正在为我的应用程序使用 Action_call,它在我的模拟器中工作正常,当我在我的手机中运行相同的代码时它不工作并且它没有打开拨号盘我也在 list 中获得了许可,但没有用。这是代码 button
我想从我的 Activity 调用调用操作,但在调用操作完成后,我的应用程序停留在调用日志屏幕上。为了避免这种情况,我决定从 PhoneStateListener 开始我的 Activity ,我这样
我正在使用 Intent intent = new Intent(Intent.ACTION_CALL); 从我的应用程序进行调用。 有没有办法在一段时间后终止通话?或者在开始之前为 ACTION_C
当 ACTION_CALL 返回结果时,我如何检查它是否建立了连接?我想排除用户取消通话的情况。 最佳答案 据我所知你不能。您唯一可以知道的是通话状态,例如 CALL_STATE_IDLE、CALL_
我试图通过单击按钮提供两个号码的选项以直接调用号码,但是当我选择其中一个号码时,它将进入拨号器屏幕,但“Ljava.lang.CharSequence "写在那里,弹出一个不支持消息服务的对话框。 这
我尝试调用电话号码 03012345,1234,#31#,98765(带有 FRITZ!Box 的调用) “03012345”是 FRITZ!Box 的电话号码,“,”是拨号暂停,“#31#”是向被叫
有没有一种方法可以从我的应用程序中调用电话,同时让我的 Activity 保持专注? ACTION_CALL 显示通话屏幕,但我想显示我的屏幕,用我自己的控件结束通话。这可能吗?例如有没有实际打电话的
我创建了一个默认拨号器应用,但 ACTION_CALL Intent 在某些设备上不起作用。 除非我将我的应用程序设置为默认手机应用程序,否则 ACTION_CALL Intent 效果很好。但是,如
我正在开发一个 Android 应用程序,其中有紧急号码调用功能。我正在使用下面的调用代码: private void call(String pnum) { private Telephon
我想调用*142# 然而,它只拨*142,#被忽略。 这是我的代码 Button button = (Button) findViewById(R.id.balance); myButton.setO
我有一个简单的测试用例,用于测试是否在单击按钮时启动拨出电话。 public void testCalling(){ IntentFilter callFilter = new IntentF
我在执行 Intent.ACTION_CALL 操作时得到 ActivityNotFoundException。我找到了很多链接,但所有链接都无法解决我的问题。 它有时会给我异常 android.co
我有一个关于 Intent 操作 ACTION_CALL 的问题。 用户结束通话后回到自己的应用程序/Activity 的正确方法是什么? Intent intent = new Intent(Int
我收到推送通知,正在调用前台服务。 从服务中,我正在调用一个 Activity。 在这里,我有 2 个功能。 1。紧急声音报警 2。使用 ACTION_CALL 调用。 如果设备已解锁,两者都可以正常
我是一名优秀的程序员,十分优秀!