Ich möchte den Hintergrund der Aktivität für transparent dynamisch ändern.Unter Android API-21, ConvertToTransucent Methode der Aktivität ist ungültig?
Oben API-21, convertToTranslucent
Methode ist nützlich.
Aber es ist ungültig unter API-21.
Dies ist meine Berufung Code:
public static void convertActivityToTranslucentBeforeL(Activity activity) {
try {
Class<?>[] classes = Activity.class.getDeclaredClasses();
Class<?> translucentConversionListenerClazz = null;
for (Class clazz : classes) {
if (clazz.getSimpleName().contains("TranslucentConversionListener")) {
translucentConversionListenerClazz = clazz;
}
}
Method method = Activity.class.getDeclaredMethod("convertToTranslucent",
translucentConversionListenerClazz);
method.setAccessible(true);
method.invoke(activity, new Object[] {
null
});
} catch (Throwable t) {
t.printStackTrace();
}
}
convertToTranslucent Methode der Aktivität
public void convertToTranslucent(TranslucentConversionListener callback) {
try {
mTranslucentCallback = callback;
mChangeCanvasToTranslucent =
ActivityManagerNative.getDefault().convertToTranslucent(mToken);
} catch (RemoteException e) {
// pass
}
}
Und ich fand, dass der Wert des mChangeCanvasToTranslucent nach dem Aufruf falsch war