Ho un'icona mobile che rimane in cima a tutte le attività, ma quando il dispositivo viene bloccato scompare finché il dispositivo non viene sbloccato.Visualizza una vista utilizzando windowmanager sulla schermata di blocco
Un altro significato, voglio visualizzare una vista (FloatIcon) sulla schermata di blocco usando windowmanager dal servizio.
Questo è il mio codice finora.
public class FloatIcon extends Service {
private WindowManager windowManager;
private ImageView floatIcon;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
floatIcon = new ImageView(this);
floatIcon.setImageResource(R.drawable.ic_launcher);
floatIcon.setClickable(true);
floatIcon.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getBaseContext(), MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(intent);
}
});
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED + WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
+ WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
windowManager.addView(floatIcon, params);
}
@Override
public void onDestroy() {
super.onDestroy();
if (floatIcon != null)
windowManager.removeView(floatIcon);
}
}
Non riesco a ottenere qualcosa di utile quando lo faccio su Google.
Hai risolto questo problema? Se è così, potresti dirmi come l'hai fatta? – TahaYusuf