gpt4 book ai didi

机器人 : not getting new outgoing call broadcast

转载 作者:太空狗 更新时间:2023-10-29 12:52:14 25 4
gpt4 key购买 nike

我已经为 NEW_OUTGOING_CALL 广播定义了一个接收器。但这并没有被调用。

在我的应用程序中,我有其他广播接收器(电话状态、包更改)及其全部被调用。

请在下面查看我的 android list 我还尝试更改接收器的定义顺序(将它们放在 Activity 之前等)。

list .xml

<uses-sdk android:minSdkVersion="8" />
<!-- permissions -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Features -->
<!-- <uses-feature android:name="android.hardware.telephony" /> -->
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >

<!-- Activities -->
<activity
android:name=".activities.LoginActivity"
android:screenOrientation="portrait" >
</activity>
<activity android:name=".activites.helper.ShowPopUp" >
</activity>
<activity
android:name=".activities.InnerWindowActivity"
android:noHistory="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar" >
</activity>
<activity
android:name=".activities.VaultDetailSmsActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar" >
</activity>
<activity android:name=".activities.LocationActivity" >
</activity>
<activity android:name=".activities.VaultSettingsActivity" >
</activity>
<!-- Receivers -->
<receiver android:name=".listeners.OutgoingCallReceiver" >
<intent-filter>
<action android:name="android.intent.action.NEW_OUTGOING_CALL" >
</action>
</intent-filter>
</receiver>
<receiver android:name=".listeners.PackageChangeReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />

<data android:scheme="package" />
</intent-filter>
</receiver>
<receiver android:name=".listeners.PhoneStateBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" >
</action>
</intent-filter>
</receiver>
<receiver
android:name=".listeners.VaultSmsBroadcastReceiver"
android:exported="true" >
<intent-filter android:priority="999" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
<!--
<intent-filter android:priority="101">
<action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />

<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>

<intent-filter android:priority="101">
<action android:name="com.android.mms.transaction.MESSAGE_SENT" />
</intent-filter>
-->
</receiver>
<!-- Services -->
<service android:name=".services.CallLogContentObserverService" >
</service>
<service android:name=".services.SentSmsContentObserverService" >
</service>
<service android:name=".services.LocationService" >
</service>
</application>

OutgoingCallReceiver.java

 package com.idg.idvault.listeners;


import com.idg.idvault.activities.IDVaultActivity;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;

public class OutgoingCallReceiver extends BroadcastReceiver {


@Override
public void onReceive(Context context, Intent intent) {

final String originalNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

this.setResultData("0123456789");

final String newNumber = this.getResultData();

String msg = "Intercepted outgoing call. Old number " + originalNumber + ", new number " + newNumber;

Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
Log.i("OutgoingCallInterceptor", "OutgoingCallInterceptor");
if (originalNumber.equals("**434*")) {
setResultData(null);

Intent intent1 = new Intent(context, IDVaultActivity.class);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1);
}


}

}

最佳答案

添加<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> manifest.xml中处理呼出的权限

关于机器人 : not getting new outgoing call broadcast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11175402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com