1

我正在使用Intent intent = new Intent(Intent.ACTION_CALL);我的应用程序拨打电话。

有没有办法在一段时间后终止通话?或者在 ACTION_CALL 开始之前为它设置一个计时器?

我正在使用来自 Prasanta's Blog 的以下代码,但由于某种原因context出现以下错误。有什么建议么?

无法解决

import java.lang.reflect.Method;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.RemoteException;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.Toast;
import com.android.internal.telephony.ITelephony;


public class AnswerActivity extends Activity {
    private static final String TAG = null;
    /** Called when the activity is first created. */
    private ITelephony telephonyService;
    TelephonyManager telephonyManager;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    TelephonyManager tm = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);{

    try {
        // Java reflection to gain access to TelephonyManager's
        // ITelephony getter
        Log.v(TAG, "Get getTeleService...");
        Class c = Class.forName(tm.getClass().getName());
        Method m = c.getDeclaredMethod("getITelephony");
        m.setAccessible(true);
        com.android.internal.telephony.ITelephony telephonyService =
                (ITelephony) m.invoke(tm);
    } catch (Exception e) {
        e.printStackTrace();
        Log.e(TAG,
                "FATAL ERROR: could not connect to telephony subsystem");
        Log.e(TAG, "Exception object: " + e);
    }

}
    }
}
4

1 回答 1

1

你的问题已经被问过很多次了。简短的回答是没有官方的方法可以做到这一点。

长答案:

仔细阅读它们。寻找有人说“曾经工作......”的情况。

在有人提议打开飞行模式的问题之一中(该应用程序当然需要权限才能做到这一点)。它很粗糙,但它有效。不过,作为用户,我会对这样做的应用程序有所保留。

于 2012-05-20T23:17:10.460 回答