<!-- 结束通话和打电话的权限 --> <uses-permission android:name="android.permission.CALL_PHONE"/>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="挂断电话" android:onClick="endCall"/> </RelativeLayout>
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void endCall(View v) throws Exception { //通过反射调用隐藏的API //得到隐藏类的Class对象 Class c = Class.forName("android.os.ServiceManager"); //得到方法所对应的Method对象 Method method = c.getMethod("getService", String.class); //调用方法 IBinder iBinder = (IBinder) method.invoke(null, Context.TELEPHONY_SERVICE); //得到接口对象 ITelephony telephony = ITelephony.Stub.asInterface(iBinder); //结束通话 telephony.endCall(); } }
原文地址:https://www.cnblogs.com/znsongshu/p/9357412.html
时间: 2024-10-23 23:40:39