如何在浏览其他应用程序时在屏幕上保留图像
问题描述:
我正在制作应用程序以在屏幕上创建图像,并在手机上创建应用程序,并仍然正常使用手机功能。我想使用 覆盖和活动半透明,但我不能使用手机功能。我错了,或者我错过了什么?任何人都可以帮助我吗? 谢谢您的阅读。如何在浏览其他应用程序时在屏幕上保留图像
答
我认为你正在寻找所有应用程序之上的“facebook-chat-head”像图标。对?
那么它在这里,
允许应用程序使用 型TYPE_SYSTEM_ALERT,对其他所有程序的顶层打开窗户。很少有 应用程序应该使用此权限;这些窗口旨在用于与用户进行系统级交互的 。
常数值: “android.permission.SYSTEM_ALERT_WINDOW”
示例代码:
public class ChatHeadService extends Service {
private WindowManager windowManager;
private ImageView chatHead;
@Override public IBinder onBind(Intent intent) {
// Not used
return null;
}
@Override public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
chatHead = new ImageView(this);
chatHead.setImageResource(R.drawable.android_head);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
windowManager.addView(chatHead, params);
}
@Override
public void onDestroy() {
super.onDestroy();
if (chatHead != null) windowManager.removeView(chatHead);
}
}
不要忘了启动不知何故服务:
startService(new Intent(context, ChatHeadService.class));
完整的代码here:
请看看这个线程:chat head related techniques
谢谢您的回答这么多, 但我想集满像壁纸一样全屏 –
马克为接受,如果它帮助,它会帮助其他人解决这个问题,以便知道它正在工作或nt。 –
我的初衷是在屏幕上做一个壁纸,并位于主题等应用程序。我对这个误解表示歉意 –