

現在AndroidStudio/JAVAでオーバーレイアプリを作成しています。  
オーバーレイ表示させたボタンを押した際に、おなじくオーバーレイ表示させたFrameLayoutの中身を切り替えるという処理を行いたいです。  
サービスを使い実装しているのですが、サービスからUIを操作できないようなので、実装の行い方がわかりません。

minSdk 26  
targetSdk 33

[code]

    public class FooActivty exdends AppCompatActivty {
    
        /*中略*/
        startService(new Intent(this, BarService.class));
    }
    
[/code]

[code]

    public class BarSevice extends Service {
    
        /*中略*/
    
        @Override
        public void onCreate {
    
            super.onCreate();
    
            /*layoutをLayoutParamsで配置*/
            /*layoutにはButtonとFrameLayoutが含まれる*/
    
            Button button = (Button) view.findViewById(R.id.button);
    
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick (View v) {
    
                    /*ここでフラグメントを切り替えたい*/
                }
            });
        }
    }
    
[/code]

※追記 11/4（木）  
フラグメントをサービス上に配置するのは難しいようです。。  
ViewStubを用いて非表示の切り替えを行うことで行いたい実装に近いことは行うことができました。  
なにかもっと良い方法を知っている方いらっしゃったらご教示願います。

[code]

    public class BarSevice extends Service {
    
        /*中略*/
        stub = (Viewstub) .findViewById(R.id.viewstub);
    
        // 表示
        stub.setVisibility(View.VISIABLE);
    
        //非表示;
        stub.setVisibility(View.GONE);
    
[/code]


CC BY-SA 4.0
2023-11-01T14:07:19.877
96647
2023-11-04T10:40:59.130
2023-11-04T10:40:59.130
60290
60290
question
java android-studio android-layout android-fragments
オーバーレイアプリでフラグメントと同じような操作を行いたい。