相关疑难解决方法(0)

在Android 6.0中回答来电

有没有办法在没有root权限的情况下以编程方式回答Android 6.0中的来电?我尝试了以下方法:

  1. 内部ITelephony.aidl方法 - 有了这个我能够结束通话.但是接听电话需要android.permission.MODIFY_PHONE_STATE在Android 6.0中未提供给第三方应用.
  2. 耳机KeyCode意图方法.这根本不起作用.

android android-permissions android-6.0-marshmallow

8
推荐指数
2
解决办法
8036
查看次数

阻止来电

我试图阻止来自特定号码的来电,我设法检测到来电及其号码。但是,我很难阻止呼叫。我浏览了我在这个网站和其他网站上找到的所有代码,我开始认为,由于新版本的android或每个设备的核心差异(我拥有LG4),这些代码可能无法工作。

再想一想,谁能解释一下在这个包中创建 ITelephony 的重要性:

package com.android.internal.telephony;
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

package com.darkmoonapps.telephony;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.widget.Toast;

import com.android.internal.telephony.ITelephony;

import java.lang.reflect.Method;

/**
 * Created by Shai on 19/12/2017.
 */

public class incomingCalls extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        ITelephony telephonyService;
        try {
            String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
            String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);

            if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING)){

                    TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
                    try {
                        Method m = tm.getClass().getDeclaredMethod("getITelephony");

                        m.setAccessible(true);
                        telephonyService = (ITelephony) m.invoke(tm);

                        if ((number != null)) {
                            telephonyService.endCall(); …
Run Code Online (Sandbox Code Playgroud)

android

4
推荐指数
1
解决办法
3358
查看次数