0

**到目前为止我做了什么:**

我已经为 Android SDK 29 实现了它

 RoleManager roleManager = (RoleManager) getSystemService(ROLE_SERVICE);
 Intent intent = roleManager.createRequestRoleIntent(RoleManager.ROLE_CALL_SCREENING);
 startActivityForResult(intent, REQUEST_ID1);

**我在找什么?: **

我想为 < SDK 29 的设备实施呼叫筛选服务。如果有人以前做过,请帮助我。

4

2 回答 2

0

不幸的是,你不能。

在 Android 版本 < 29 上无法访问RoleManager该类,因为该类是在 Android 29 上引入的。因此,您只能在运行 Android 29 及更高版本的设备上使用该类。

于 2020-12-18T06:22:14.523 回答
0

对于 Android <= 28,要绑定 CallScreeningService,必须将应用设置为默认拨号应用。在运行时,可以显示一个对话框,要求用户将您的应用程序设置为默认拨号器应用程序,如下所示:

if (getSystemService(TelecomManager.class).getDefaultDialerPackage() != getPackageName()) {
                    Intent changedDialer= new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER);
                    changedDialer.putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, getPackageName());
                    startActivity(ChangeDialer);
      }
于 2021-04-21T07:32:45.823 回答