如何停止intent.ACTION_CALL一旦启动?

时间:2012-05-20 07:12:36

标签: java android android-intent phone-call

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

有什么办法可以在一段时间后终止通话吗?或者在ACTION_CALL启动之前设置一个计时器?

我正在使用Prasanta博客的以下代码,但出于某种原因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);
    }

}
    }
}

1 个答案:

答案 0 :(得分:1)

您的问题已被多次询问过。简短的回答是,没有正式的方法可以做到这一点。

答案很长:

仔细阅读。寻找有人说“过去工作......”的案例。

在其中一个问题中,有人建议启用飞行模式(当然,应用程序需要权限来执行此操作)。这很粗糙,但它确实有效。作为一个用户,我会对应用程序做一些保留。