-2

在我的应用程序中,我需要将位置存储到 firebase,因此我使用两个位置类作为应用程序,因为我需要存储两个不同实体的位置

第一应用类

public class FirstApplicationClass  extends MultiDexApplication implements  GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener,
    LocationListener{ 
}

第二应用类

public class SecondApplicationClass extends FirstApplicationClass implements GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener,
    LocationListener {
}

下面是 manifest.xml 代码

<application
    android:name=".location.SecondApplicationClass"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"

我需要使用 this.getApplicationContext(); 在这两种情况下,在我使用第二个应用程序类的第二种情况下,我可以使用 this.getApplicationContext(); 从具体的活动,即

mSecondApplicationClass = (SecondApplicationClass) this.getApplicationContext();

并能够存储位置。我不知道如何使用 this.getApplicationContext(); 与第一个应用程序类,即

mFirstApplicationClass = (FirstApplicationClass) this.getApplicationContext();

我无法做到这一点

4

1 回答 1

0

在安卓应用中,ApplicationContext独一无二的

ApplicationContext你的FirstApplicationClass或之间没有区别SecontApplicationClass

AndroidManifest.xml文件中,您将在这一行中引入SecondApplicatoinClass作为应用程序的应用程序类:

android:name=".location.SecondApplicationClass"

所以你FirstApplicationClass没有作为你的应用程序的应用程序类引入,你不能得到它ApplicationContext

将您的AndroidManifest.xml代码更改为此,您将能够ApplicationContext进入FirstApplicationClass

<application
android:name=".location.FirstApplicationClass  "
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"

那么你可以ApplicationContext在这两种情况下消费。

于 2018-04-12T12:43:52.820 回答