gpt4 book ai didi

android - 在牛轧糖中自动接听来电

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:35:51 26 4
gpt4 key购买 nike

有没有办法在没有root权限的情况下以编程方式接听Android 7.0中的来电?我尝试通过以下方式接听来电。

 TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
Class<?> c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
Object telephonyService = m.invoke(tm);
Class<?> telephonyServiceClass = Class.forName(telephonyService.getClass().getName());
Method endCallMethod = telephonyServiceClass.getDeclaredMethod("answerRingingCall");
endCallMethod.invoke(telephonyService);

最佳答案

通知监听器有一个奇怪的技巧,通过创建服务来监听所有通知,每当有电话打来时,它肯定会显示一条通知,询问用户是否接听。

创建服务

class AutoCallPickerService : NotificationListenerService() {

override fun onNotificationPosted(sbn: StatusBarNotification?) {
super.onNotificationPosted(sbn)
sbn?.let {
it.notification.actions?.let { actions ->
actions.iterator().forEach { item ->
if (item.title.toString().equals("Answer", true)) {
val pendingIntent = item.actionIntent
pendingIntent.send()
}
}
}
}
}

override fun onNotificationRemoved(sbn: StatusBarNotification?) {
super.onNotificationRemoved(sbn)
}
}

这里我们假设通知有一个标签为answer的 Action ,因此我们进行匹配并调用与之相关的相应 Intent 。在启动器 Activity 中询问访问通知的权限

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val intent = Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS")
startActivity(intent)
}
}

最后注册监听通知的服务

<service
android:name=".AutoCallPickerService"
android:label="@string/app_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action
android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>

If the phone model doesn't show up a notification for incoming calls this code will be of total failure.

关于android - 在牛轧糖中自动接听来电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51808036/

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