如何在java中从callscreeningservice启动活动

wn9m85ua  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(350)

我试图使应用程序,这个callscreeningservice是写在开放时,传入的电话号码匹配某些号码。在这种情况下,onscreencall中的if语句调用运行,但活动没有启动。我不知道为什么,我猜是因为我没有正确的应用程序上下文。有没有人知道我是如何得到正确的上下文或者我做错了什么?

public class CallScreenService extends CallScreeningService {
Context nContext = this; 

@Override
public void onScreenCall(Call.Details callDetails) {

   if (callDetails.getHandle().toString().equals("tel:333333333")) {

        Intent i = new Intent(nContext, MainActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        nContext.startActivity(i);

   } 
}
}
64jmpszr

64jmpszr1#

应用程序需要在android 10+上授予用户系统警报窗口权限。
您必须将其添加到清单中:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

并向用户请求:

// Show alert dialog to the user saying a separate permission is needed
Intent myIntent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivity(myIntent);

相关问题