0

他のアプリの上に線を引くことはできますか?

たとえば、地図を表示するアプリがあり、そのアプリの上に線を引きたいとします。たとえば、A から B へのルートです。

許可を追加しました

android.permission.SYSTEM_ALERT_WINDOW

そして、他のアプリの上にビューを表示するコードを追加しました。

       super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final WindowManager.LayoutParams param=new WindowManager.LayoutParams();
    param.flags=WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
    final View view=findViewById(R.id.my_floating_view);
    final ViewGroup parent=(ViewGroup)view.getParent();
    if(parent!=null)
      parent.removeView(view);
    param.format=PixelFormat.RGBA_8888;
    param.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
    param.gravity=Gravity.CENTER;
    param.width=parent!=null?LayoutParams.WRAP_CONTENT:view.getLayoutParams().width;
    param.height=parent!=null?LayoutParams.WRAP_CONTENT:view.getLayoutParams().height;
    final WindowManager wmgr=(WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    wmgr.addView(view,param);
}

私の問題は、アプリを開くとアクティビティ全体が表示され、アクティビティを非表示にして、別のアプリケーションの上にあるビューのみを表示することです。つまり、地図アプリケーションの私の例では、地図を表示し、その上に描画した線を表示したいと考えています。アプリケーションの名前などを見たくありません。

どうやってやるの?

4

1 に答える 1