0
透明のためにActivityの背景を動的に変更したいと思います。Android API-21の下で、アクティビティのconvertToTranslucentメソッドが無効ですか?
上記API-21,convertToTranslucent
の方法が有用である。
ただし、API-21の下では無効です。
は、これは私の呼び出し元のコードです:活動
public void convertToTranslucent(TranslucentConversionListener callback) {
try {
mTranslucentCallback = callback;
mChangeCanvasToTranslucent =
ActivityManagerNative.getDefault().convertToTranslucent(mToken);
} catch (RemoteException e) {
// pass
}
}
の
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方法そして私は、コールの後mChangeCanvasToTranslucentの値がfalse