2017-04-20 13 views
-1

私は主な活動の中で場所を嘲笑う方法を持っています。残念ながら、私はこのメソッドを別のクラスに入れません(まだ!)。だから、5秒ごとに私の主な活動からこのメソッドを呼び出すサービスが必要です。だから私は、アプリケーション内でカウントダウンを作成したが、私のMainActivityでメソッドを実行する必要があります。しかし、それはdoesntです。Xamarin Android:MainActivityの新しいオブジェクトを作成できませんか?

public void OnTimedEvent(object sender, System.Timers.ElapsedEventArgs e) 
    { 
     Log.Info("2", "CountDown ausgeführt!"); 
     var test = new MainActivity(); 

     test.getMockLocation(); 

    } 

これは私のコードです。ご覧のとおり、私はメインアクティビティの新しいオブジェクトをインストールし、このアクティビティの中でメソッドを尋ねます。これは動作します。少なくともVisual Studioは文句を言っていません。私の携帯電話で私のアプリをデバッグすると、何も起こりません。私はエラーや何も得ない。 今、私はこのアプリケーションをステップバイステップで実行すると、このポイントに達する "var test = new MainActivity();"

「フレームにモジュールがありません」というメッセージが表示されます。

私のメインアクティビティの新しいオブジェクトをインストールするように頼むと、基本的にクラッシュします。 これはなぜ誰に教えてもらえますか? ありがとうございました:)

答えて

0

残念ながらAndroidの場合、このようなアクティビティを作成することはできません。それらはOSによってインスタンス化する必要があります。また、メソッド全体のアクティビティをインスタンス化するのは理想的ではありません。そのメソッド/関数をそのアクティビティから取得してプログラム内のどこでも使用できる方法を見つけることをお勧めします。

+0

ありがとう、すぐに試してみてください。悪い報告を返す:) – user7285912

0

Xamarinフォームを使用してアプリケーションを作成しましたか?そうした場合は、Xamarin Forms MessagingCenterをバックグラウンドサービスに利用して、モックロケーションタスクを呼び出すことができます。

非常に便利なウォークスルーとMessagingCenterの例については、linkです。

+0

ありがとう、それはすぐに試してみてください。悪い報告を返す:) – user7285912

関連する問題