Android 如何使用GUI创建服务?
我正在使用的android应用程序必须有一个GUI,并且即使在其所有活动被破坏或暂停或应用程序关闭时,也必须在后台继续工作。它应该在开机时自动启动 我知道这是一种服务。但是服务没有GUI。Android 如何使用GUI创建服务?,android,Android,我正在使用的android应用程序必须有一个GUI,并且即使在其所有活动被破坏或暂停或应用程序关闭时,也必须在后台继续工作。它应该在开机时自动启动 我知道这是一种服务。但是服务没有GUI。 因此,如何将GUI和服务结合起来?实现这一点的方法之一是使用android的WindowManager类,您可以根据需要为其设置不同的属性。下面是一个具有GUI的服务示例 公共类MyService扩展服务{ TextView xTextView; ImageView xImageView; View layo
因此,如何将GUI和服务结合起来?实现这一点的方法之一是使用android的WindowManager类,您可以根据需要为其设置不同的属性。下面是一个具有GUI的服务示例 公共类MyService扩展服务{
TextView xTextView;
ImageView xImageView;
View layout;
WindowManager windowManager;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.CENTER | Gravity.TOP;
params.setTitle("Load Average");
windowManager = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layout= inflater.inflate(R.layout.layout1, null);
xImageView= (ImageView) layout.findViewById(R.id.xImage);
xTextView= (TextView) layout.findViewById(R.id.xTextView);
xImageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
});
// Add layout to window manager
windowManager.addView(layout, params);
layout.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
}
});
}
}
您必须添加此权限才能使用Windowmanager布局
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
您可以在任何地方启动此服务。它将在没有应用程序上下文的情况下运行