de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 user964409
user964409
質問

現在の実行中のアクティビティのコンテキストを取得する

私はアンドロイド上で現在の実行中の活動のコンテキストを取得する方法があるのだろうかと思います。たとえば、アクティビティクラスがあり、実行中です。私が望むのは、別のシンプルクラスを呼び出して、アクティビティクラスから呼び出されたいくつかの関数を実行することです。これを行うことで、シンプルクラスのアクティビティクラスのコンテキストを設定する必要があります。逆に、現在の実行中アクティビティのコンテキストを持つ必要があります。そのため、シンプルクラスは実際に実行中のアクティビティから呼び出された関数を実際に実行できます。

以下は私のプロジェクトのソフトコードです。

public class Main1 extends Activity {
    private static GetAPNsInfo getAPNsInfo = new GetAPNsInfo();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
                getAPNsInfo.doSomething();
    }
}

public class GetAPNsInfo {
    public void doSomething() {
        Button button = currentRunningActivityContext.findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
               //TODO Auto-generated method stub
            }
        });
    }
}

最後に、このスレッドの私の目的は、現在実行中のアクティビティ情報を取得するには良い方法が必要だということです。

これは私の自己を見つけた解決策です。しかし、このケースを完全に解決するわけではありません。 Manifest.xmlに受信者を追加することができます。これにより、バックグラウンドアプリケーションが実行されます。


        
            
        

    

バックグラウンドアプリケーションインタフェースは次のようになります。

public class RunningActivityCapture extends BroadcastReceiver {

    @Override
    public void onReceive(Context aContext, Intent intent) {
        String action = intent.getAction();

        if (action.equals(Intent.ACTION_ALL_APPS)) {
            Activity activty = intent.getCurrentActivity();
            Session session = new Session();
            session.setRunningActivity(activty);
        }
        return;
    }
}

私はバックグラウンド・アプリケーションから設定したセッション・クラスからアクティビティーを取得するだけです。これはこの問題を解決するための私の最初のアイデアです。しかし、コードは正しくありません。だから私はあなたの助けが必要です。

0 2011-10-28T02:45:20+00:00 1
 Craigy
Craigy
編集された質問 28日 10月 2011 в 2:08
プログラミング
java
android
Craigy
28日 10月 2011 в 2:58
2011-10-28T02:58:48+00:00
さらに
ソース
編集
#56794317

ヘルパークラスでこの MainActivity の使い方を尋ねる場合は、Activity is Contextとしてアクティビティ自体をクラスに渡すことができます。あなたのコンストラクタは次のようになります:

public GetAPNsInfo(Context context) {
    ...
}

フィールドにコンテキストを格納し、後で使用します。あなたはで初期化します

private static GetAPNsInfo getAPNsInfo = new GetAPNsInfo(this);

アプリケーションで ANY アクティビティのコンテキストを取得する方法を尋ねている場合は、推奨されていないと思います。

3
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Денис Анненский
登録済み 1日前
2
365
登録済み 5日前
3
True Image
登録済み 6日前
4
archana agarwal
登録済み 1週間前
5
Maxim Zhilyaev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属