- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我找不到以下文档:
android.intent.action.CALL_PRIVILEGED
我看到它在 csipsimple 中用于处理调用。
我想更好地了解如何使用它。例如:之间的关系是什么android.intent.action.CALL_PRIVILEGED
和 android.intent.action.NEW_OUTGOING_CALL
?
我补充说:
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
在我的项目的 AndroidManifest 中。当从 native 拨号器开始调用时,我的 Activity 被调用,但如果在 onResume 中我执行 getIntent().getAction() 结果为 null
编辑
我让它可以处理 onNewIntent 和 onCreate。 onResume 收到一个没有操作的 Intent (我想是由默认的 onNewIntent 处理程序发送的)。
问题是,为了检查操作是否为 CALL_PRIVILEGED,我必须对字符串“android.intent.action.CALL_PRIVILEGED”进行硬编码,因为操作 CALL_PRIVILEGED 是隐藏的。
我尝试只为 ACTION_CALL 注册 Activity ,但没有成功
最佳答案
Intent with action android.intent.action.CALL_PRIVILEGED 当您使用以下方式从电话簿调用电话时调用:电话簿->联系人->长按电话号码->从下拉菜单中选择调用电话。以下代码应放在 list 中:
<activity>
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
对于 HTC,这里有一些变化:
<activity>
<intent-filter>
<action android:name="android.intent.action.CALL_PRIVILEGED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="vnd.android.cursor.item/phone" />
<data android:mimeType="vnd.android.cursor.item/phone_v2" />
<data android:mimeType="vnd.android.cursor.item/person" />
</intent-filter>
</activity>
当此代码添加到 Manifest 并且您尝试如上所述进行调用时,您可以获得 Application Chooser 并通过这种方式拦截调用并继续由所选应用程序进行调用。
至于 android.intent.action.NEW_OUTGOING_CALL 它在 BroadcastReceivers 中使用,当你想收到有关拨出电话的通知时。例如,如果您想这样做,您应该将以下鳕鱼放入 list :
<receiver android:name=".CallReceiver">
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
并创建:
public class CallReceiver extends BroadcastReceiver{
private static final String TAG = "Call_Receiver";
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
//Notification there
....
}
}
使用此功能,您将在拨出电话时始终收到通知。
这个项目的主要区别是首先拦截 Intent ,然后只得到发生某事的结果。
关于android - 如何使用 android.intent.action.CALL_PRIVILEGED 和 android.intent.action.NEW_OUTGOING_CALL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8268763/
我有一个 BroadcastReceiver 捕捉 ACTION_NEW_OUTGOING_CALL 事件。 在 onReceive() 方法中,我将提供的号码发送到新的 ListActivity,用
目前我正在开发一个应用程序,它在 BroadcastReceiver 的帮助下捕获 NEW_OUTGOING_CALL 操作。我通过调用 setResultData(null) 中止调用。之后,我向用
好吧,我编写了一个应用程序,它首先调用一个特定的号码,我使用 NEW_OUTGOING_CALL(一个广播接收器)来捕捉拨号事件。到目前为止,我的 AndroidManifest.xml 上的广播接收
试图拦截拨出电话,并有一个在 上运行良好的解决方案 nexus 1 stock android 2.2 HTC 渴望 2.2 Moto defy 2.1 但不是在运行 2.1 的三星 Galaxy S
我知道如何实现一个 BroadcastReceiver 来通知一个新的呼出电话正在开始。我也知道如何最终挂断电话并在应用程序中处理它。 我想知道的是问用户丢不丢靠谱吗?据我所知,应用程序从 Rroad
我找不到以下文档: android.intent.action.CALL_PRIVILEGED 我看到它在 csipsimple 中用于处理调用。 我想更好地了解如何使用它。例如:之间的关系是什么an
我想在 Nexus 5x(N OS) 设备上使用 adb 连接拨出电话。 我正在发送广播 Intent 并观察到错误: Broadcasting: Intent { act=android.inten
我是一名优秀的程序员,十分优秀!