getclass().getdeclaredmethod
时间: 2023-05-04 18:00:18 浏览: 104
b'getclass().getdeclaredmethod' 是 Java 编程语言中的一个函数调用。它的作用是在运行时获取一个类的指定方法对象,其中 getclass() 方法返回当前对象所属的类,getdeclaredmethod() 方法则用于获取指定的方法。
相关问题
this.getClass().getDeclaredMethod
this.getClass().getDeclaredMethod是Java中的一个反射方法,用于获取当前对象的指定方法。通过调用该方法,我们可以获取到当前对象中声明的具有指定名称和参数类型的方法。
在引用中,getClass()方法返回的是当前对象的Class对象,然后调用getDeclaredMethod方法获取了一个名为name,参数类型为parameterTypes的方法。
在引用中,this.getClass()表示当前对象所属的类,然后调用getDeclaredMethod方法获取了一个名为action,参数类型为HttpServletRequest和HttpServletResponse的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [反射:获得运行时类的方法](https://blog.csdn.net/xinyihhh/article/details/123020774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [java万能DAO](https://download.csdn.net/download/zhangyayyyyyy/4252208)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (mTelecomManager != null && mTelecomManager.isInCall()) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { mTelecomManager.endCall(); } else { // 早期版本需要使用反射调用endCall方法 try { Method method = mTelecomManager.getClass().getDeclaredMethod("endCall"); method.invoke(mTelecomManager); } catch (Exception e) { //Log.e(TAG, "Failed to invoke endCall()", e); } } } }
这段代码实现的是挂断电话的功能。首先,它通过判断当前设备的 Android 版本是否大于等于 Android 5.0(LOLLIPOP)来决定使用 TelecomManager 还是使用早期版本的 API。
如果当前设备的 Android 版本大于等于 Android 5.0,那么就通过 TelecomManager 的 isInCall 方法判断当前是否正在通话中,如果是,则调用 TelecomManager 的 endCall 方法来挂断电话。
如果当前设备的 Android 版本小于 Android 5.0,则需要使用反射机制来调用早期版本的 API 来挂断电话。具体来说,就是通过反射调用 TelecomManager 的 endCall 方法来实现挂断电话。
需要注意的是,这段代码需要在 AndroidManifest.xml 文件中添加权限:
```xml
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
```
同时,由于该代码使用了反射机制,需要在应用中添加以下依赖:
```groovy
dependencies {
implementation 'com.android.support:support-compat:28.0.0'
}
```
阅读全文