あなたはこれを間違った方法で見ていると思います。
[マイプロジェクト] - 開始 - > [アクティビティ]と[マイプロジェクト]はアクティビティのすべてを処理していると考えています。
実際、OS(Android)はアクティビティ(自分のプロジェクトクラスではない)しか実行できないため、アクティビティからのメッセージを処理する[アクティビティ] - 開始 - > [マイプロジェクトサービス]である必要があります。
プロジェクトがこのように設定されていると、(アクティビティの場合と同様に)レイアウトを通常どおりに表示できます。既存のプロジェクトクラスは依然としてすべての決定を下すことができます。逆の順序で開始されます。
これは、クロスプラットフォームアプリケーション(例:libgdx)で使用されている概念と同じです。アプリケーションは、共通コードを実行するネイティブラッパー(アクティビティ)です。
編集:
あなただけの方法は、独自のクラスで呼び出されたときの活動の中で何かをトリガしたい場合は、あなたがコールバックインタフェースを使用することができます。
public interface OnConnectionMadeListener {
void onConnectionMade();
}
あなたのアクティビティを実装することができますそれあなたのオブジェクトの内部次に
public class MainActivity extends Activity implements OnConnectionMadeListener {
private View mOverlay;
public void onCreate() {
...
mOverlay = findViewById(R.id.overlay);
mOverlay.setVisibility(View.GONE);
new MyConnectionObject(this); //this will be your class that has the madeConnection() method
}
...
public void onConnectionMade() {
//show the overlay
mOverlay.setVisibility(View.VISIBLE);
}
}
public class MyConnectionObject {
private OnConnectionMadeListener mCallback;
public MyConnectionObject(OnConnectionMadeListener callback) {
...
mCallback = callback;
}
public void madeConnection() {
...
if (mCallback != null) {
mCallback.onConnectionMade();
}
}
}
[mcve]を追加すると、助けになるかもしれません。 –