我正尝试从dart代码发送一个通知,当收到来电时,我无法在android原生代码和flutter代码之间建立一个桥梁,问题是我需要这个功能在后台工作,我会这样描述这个循环:
- Flutter Android原生代码必须检测后台调用
1.本机代码必须调用Flutter dart代码中的某个类
1.此类在数据库中查找有关调用方的某些信息
1.找到以后呢要弹出一个通知,里面有一些细节。
我设法做了第三部分和第四部分,但我需要帮助的第一部分和第二部分。
我试图找出this给定的例子,但它太复杂了
我发现这个方法可以检测传入的调用,但是我无法将它附加到mainActivity类,第2部分如何
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.PhoneStateListener;
import android.widget.Toast;
import android.telephony.TelephonyManager;
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
TelephonyManager telephony = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
telephony.listen(new PhoneStateListener(){
@Override
public void onCallStateChanged(int state, String incomingNumber) {
// I think this is the part, where I should call my dart class.
}
},PhoneStateListener.LISTEN_CALL_STATE);
}
}
问题是如何正确地检测一个调用,以及如何从android本机代码调用dart类?
1条答案
按热度按时间7d7tgy0s1#
您可以在native和dart之间创建MethodChannel。
在你的dart文件中写下这段代码,
您也可以引用this document