从广播接收器监听呼出发起一项活动 [英] launching an activity from a broadcast receiver that listens to outgoing call
本文介绍了从广播接收器监听呼出发起一项活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从广播接收器监听呼出这是5556的问题是推出一项活动,该活动不被推出,但表盘内置的活动被称为,我已经改变了意向的优先级100,但无济于事。我如何获得该活动推出内置呼叫活动的转盘代替? 这里是code:
包com.messageHider;
进口android.content.BroadcastReceiver;
进口android.content.Context;
进口android.content.Intent;
进口android.widget.Toast;
公共类launchReceiver扩展的BroadcastReceiver {
@覆盖
公共无效的onReceive(上下文的背景下,意图意图){
串号= intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
字符串compare_num =5556;
如果(number.equals(compare_num))
{
意图myintent =新的意图(背景下,messageHider.class);
myintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myintent);
abortBroadcast();
}
}
}
清单文件:
<接收机器人:名称=。launchReceiver>
<意图过滤器的Android版本:优先级=0>
<作用机器人:名称=android.intent.action.NEW_OUTGOING_CALL/>
&所述; /意图滤光器>
< /接收器>
解决方案
而不是放弃直播与abortBroadcast的();使用setResultData(空)来结束你的发射活动后的来电。
I am trying to launch an activity from a broadcast receiver that listens to outgoing call which is 5556. The problem is, the activity is not being launched but the dial inbuilt activity is being called, I have changed the priority of the intent to 100 but to no avail. How do I get the activity to launch at dial instead of the inbuilt calling activity? Here is the code:
package com.messageHider;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class launchReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String number=intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
String compare_num="5556";
if(number.equals(compare_num))
{
Intent myintent=new Intent(context,messageHider.class);
myintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myintent);
abortBroadcast();
}
}
}
Manifest file:
<receiver android:name=".launchReceiver">
<intent-filter android:priority="0">
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
解决方案
Instead of aborting broadcast with abortBroadcast(); use setResultData(null) to end the call after launching your activity.
这篇关于从广播接收器监听呼出发起一项活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文