Android - Alkalmazás kis méretben való megjelenítése

Android - Alkalmazás kis méretben való megjelenítése
2020-09-03T15:18:12+02:00
2020-10-14T00:13:35+02:00
2022-10-15T21:16:13+02:00
vazul
Sziasztok!


Azt szeretném, hogy ha az én progim is úgy működne mint a Google térkép progija, vagy a SYGIC autós GPS progi, azaz hogy ha átvált a felhasználó egy másik alkalmazásra, akkor egy kis téglalapban látható marad továbbra is.

Már azzal meggyűlt a bajom, hogy a nevét sem tudom ennek a funkciónak, hogy rá tudnék keresni, hogy mégis hogyan működik is ez...

Tudnátok valami linkkel vagy bármivel segíteni?

Köszi.
Mutasd a teljes hozzászólást!
Mutasd a teljes hozzászólást!

  • A lenti kód már két éves, akkoriban vezették be ezt a funkciót, vagyis azt, hogy egy kis téglalapban bármilyen applikáció fölött ott a programunk. Utána elég hamar rájöttek hogy ezt hiba volt alapból megengedni, mert utána mindenféle adware programok reklámoztak benne, úgyhogy a következő android verzióban már engedélyhez kötötték. A kód működött még két éve, úgyhogy nézd alább:

    public class MainActivity extends AppCompatActivity { private WindowManager wm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); addImageView(8); } private void addImageView(Integer i) { final 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.START; params.x=i; params.y=i; LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); View popupView = inflater.inflate(R.layout.rere, null); //RelativeLayout wm.addView(popupView, params); TextView titi= popupView.findViewById(R.id.zizi); titi.setText("szöveg átír"); } } rere.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="left" android:id="@+id/o2element1" android:padding="0dp" android:background="#4F77A0" xmlns:android="http://schemas.android.com/apk/res/android" > <TextView android:layout_width="wrap_content" android:layout_height="30dp" android:text="próba 1" android:id="@+id/zizi" /> <TextView android:layout_width="wrap_content" android:layout_height="30dp" android:text="próba 2" android:id="@+id/zizi2" /> </LinearLayout>
    Ahhoz hogy működjön, két dolog kell (másfél dolog)
    1. engedélyezni kell az app-nak, hogy más appok felett lehessen: settings>alkalmazások>speciális>megjelenés más alkalmazások felett>programunk>kapcsoló bekapcsol
    Akár programból is odarepíthetjük a felhasználót a beállítások menübe, mert az engedélyt neki kell megadni, de olvastam valamit, hogy a play-ről telepítve valamilyen feltételnek megfelelve ez akár ki is kerülhető
    2. ha Oreo vagy magasabb az oprendszer, akkor külön engedély kell neki:
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd