【发布时间】:2023-03-27 17:43:01
【问题描述】:
我正在尝试从广播接收器启动一个活动,该接收器监听拨出呼叫,即 5556。问题是,该活动没有启动,但正在调用拨号内置活动,我已经更改了意图的优先级到100但无济于事。如何让活动在拨号而不是内置呼叫活动中启动? 代码如下:
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();
}
}
}
清单文件:
<receiver android:name=".launchReceiver">
<intent-filter android:priority="0">
<action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
</intent-filter>
</receiver>
【问题讨论】:
-
你来对了吗?