Android 叫醒安卓打电话

Android 叫醒安卓打电话,android,voip,wakeup,Android,Voip,Wakeup,我正在制作一个VOIP呼叫应用程序。当来电时,它应该打开应用程序,即使应用程序已关闭或从未打开。我们还需要来自服务器的呼叫通知 我知道像WhatsApp和Facebook Messenger这样的应用程序可以做到这一点,但如何做到呢 我们使用的设计与以下类似: 我们已经尝试使用as,虽然取得了一定的成功,但当应用程序关闭时,它不起作用 我们正在考虑使用一个或下一个,但它需要相当多的时间来原型,我更愿意问是否有人有任何成功,或者是否有现有的插件为这一点 正如我所知道的,也会有限制。它说要使用时间敏

我正在制作一个VOIP呼叫应用程序。当来电时,它应该打开应用程序,即使应用程序已关闭或从未打开。我们还需要来自服务器的呼叫通知

我知道像WhatsApp和Facebook Messenger这样的应用程序可以做到这一点,但如何做到呢

我们使用的设计与以下类似:

我们已经尝试使用as,虽然取得了一定的成功,但当应用程序关闭时,它不起作用

我们正在考虑使用一个或下一个,但它需要相当多的时间来原型,我更愿意问是否有人有任何成功,或者是否有现有的插件为这一点


正如我所知道的,也会有限制。它说要使用时间敏感的通知,但这些通知仍然需要以某种方式从服务器触发。

在您的呼叫活动中添加此代码。它会打开你的屏幕

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
        this.setTurnScreenOn(true);
    } else {
        final Window window = getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    }
在活动清单中,将意图过滤器定义为调用

    <activity
        android:name=".activities.CallActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustPan|stateHidden">
        <intent-filter>
            <action android:name="android.intent.action.CALL" />
        </intent-filter>
    </activity>

当您在onMessageReceived(RemoteMessage RemoteMessage)中收到Firebase的通知时,请打开活动

openActivity(CallActivity.class);

public void openActivity(Class<?> tClass) {
    Intent i = new Intent(this, tClass);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i);
}
openActivity(CallActivity.class);
公共活动(tClass类){
意向i=新意向(本,tClass);
i、 addFlags(意图、标志、活动、新任务);
星触觉(i);
}