2015-10-21 65 views
2

我有一个请求,当我的Android应用程序被置于后台时,我将屏幕空白以隐藏敏感数据。这是很容易使用来实现:Android:使用FLAG_SECURE改变窗口背景的颜色

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); 

困难的部分似乎正在改变的是黑屏看在后台的应用程序时,你得到的颜色。默认情况下,它似乎是白色的,我似乎无法找到一种方法来覆盖它。有人有主意吗?

回答

5

不幸的是,您无法自定义最近视图中缩略图的颜色。

正如你可以看到TaskViewThumbnail缩略图的默认颜色(0xffffffff)是硬编码的,所以它不是可定制:

/** Updates the paint to draw the thumbnail. */ 
void updateThumbnailPaintFilter() { 
    if (mInvisible) { 
     return; 
    } 
    int mul = (int) ((1.0f - mDimAlpha) * mThumbnailAlpha * 255); 
    int add = (int) ((1.0f - mDimAlpha) * (1 - mThumbnailAlpha) * 255); 
    if (mBitmapShader != null) { 
     mLightingColorFilter.setColorMultiply(Color.argb(255, mul, mul, mul)); 
     mLightingColorFilter.setColorAdd(Color.argb(0, add, add, add)); 
     mDrawPaint.setColorFilter(mLightingColorFilter); 
     mDrawPaint.setColor(0xffffffff); 
    } else { 
     int grey = mul + add; 
     mDrawPaint.setColorFilter(null); 
     mDrawPaint.setColor(Color.argb(255, grey, grey, grey)); 
    } 
    invalidate(); 
}