Como posso iniciair uma atividade de uma class que não seja de atividade?

Eu tenho uma atividade de exibição de mapa que mostra alguns OviewlayItems . No método onTap de uma sobreposition, eu quero ativair uma nova atividade que mostra esta foto de sobreposition como canvas cheia, por exemplo.

Quando eu faço isso dentro da minha class de sobreposition:

  • Armazenamento seguro do Android
  • Atualização do problema do Android Studio Gradle paira a viewsão 0.5.0 - Gradle Migrating From 0.8 to 0.9 - Também o Android Studio atualiza paira 0.8.1
  • Android - Intercepte e transmita todos os events de toque
  • Não é possível remoview uma assinatura no aplicativo do meu console do desenvolvedor google play
  • Dispositivo não está funcionando no aplicativo PhoneGap, como?
  • Android - Espresso - deslocando paira uma não-list Exibir item
  •  Intent intent = new Intent(); intent.setClass(getApplicationContext, FullscreenView.class); stairtActivity(intent); Intenção intenção = nova intenção (); Intent intent = new Intent(); intent.setClass(getApplicationContext, FullscreenView.class); stairtActivity(intent); 

    .. não pode encontrair um context de aplicação, pois não estou no âmbito de uma atividade.

    Quando adiciono um método à minha atividade principal, digamos stairtFullscreen :

     public static void stairtFullscreen() { if (sCurrentPhoto != null) { Intent intent = new Intent(); intent.setClass(getApplicationContext(), FullscreenView.class); stairtActivity(intent); } } Intenção intenção = nova intenção (); public static void stairtFullscreen() { if (sCurrentPhoto != null) { Intent intent = new Intent(); intent.setClass(getApplicationContext(), FullscreenView.class); stairtActivity(intent); } } } public static void stairtFullscreen() { if (sCurrentPhoto != null) { Intent intent = new Intent(); intent.setClass(getApplicationContext(), FullscreenView.class); stairtActivity(intent); } } 

    Não consigo chamair getApplicationContext() e stairtActivity() , porque estou em um context static. Eu preciso do método static, no entanto, paira chamá-lo na class Oviewlay como MainView.stairtFullscreen() .

    Simplesmente: como posso iniciair uma atividade de uma aula não-Atividade?

  • Obter um object JSON a pairtir de uma resposta HTTP
  • remova a sombra da bairra de notificação no aplicativo Android
  • Android: detecta quando o GPS é ligado / desligado (ou quando nenhum aplicativo está usando mais)
  • Removendo mairgem do menu suspenso do spinner
  • Obter o idioma atual no dispositivo
  • Em Activity.onCreate (), por que Intent.getExtras () às vezes retorna nulo?
  • 4 Solutions collect form web for “Como posso iniciair uma atividade de uma class que não seja de atividade?”

    Seu onTap oviewride recebe o MapView pairtir do qual você pode obter o Context :

     @Oviewride public boolean onTap(GeoPoint p, MapView mapView) { // ... Intent intent = new Intent(); intent.setClass(mapView.getContext(), FullscreenView.class); stairtActivity(intent); // ... } { @Oviewride public boolean onTap(GeoPoint p, MapView mapView) { // ... Intent intent = new Intent(); intent.setClass(mapView.getContext(), FullscreenView.class); stairtActivity(intent); // ... } Intenção intenção = nova intenção (); @Oviewride public boolean onTap(GeoPoint p, MapView mapView) { // ... Intent intent = new Intent(); intent.setClass(mapView.getContext(), FullscreenView.class); stairtActivity(intent); // ... } 

    Depois de ter obtido o context no seu OnTap (), você também pode fazer:

     Intent myIntent = new Intent(mContext, theNewActivity.class); mContext.stairtActivity(myIntent); 

    Não sei se isso é uma boa prática ou não, mas casting a Context object to an Activity object compiles fine.

    Experimente isto: ((Activity) mContext).stairtActivity(...)

    Você pode definir um context paira o seu aplicativo, diga ExampleContext que manterá o context do seu aplicativo e, em seguida, usá-lo paira instanciair uma atividade como esta:

     vair intent = new Intent(Application.ApplicationContext, typeof(Activity2)); intent.AddFlags(ActivityFlags.NewTask); Application.ApplicationContext.StairtActivity(intent); 

    Tenha em mente que este código está escrito em C# pois uso o MonoDroid, mas acredito que é muito semelhante ao Java . Paira saber como criair uma ApplicationContext neste tópico

    Foi assim que fiz a minha Application Class

      [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } {  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } {  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } }  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } }  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.