Попытка вызвать виртуальный метод 'android .content.ContentResolverr android .id.content.Context.getContentesolver ()' для ссылки на объект nul - PullRequest
0 голосов
/ 02 марта 2020

Я использую Telr SDK в своем приложении, пока он показывает мне нулевой указатель контекста, за исключением того, что я использовал библиотеку Volley и написал несколько методов в классе, который расширен классом Application. Это снова и снова показывает мне эту ошибку, потому что я использовал класс «APPController», расширенный классом «Application», и зарегистрировал его в Manifest под тегом «Applicaion». Если я не использую класс 'Appcontroller' в моем проекте c, то шлюз Telr работает отлично, но мне нужно использовать оба, пожалуйста, помогите.

Код:

AppController. java:

public class AppController extends Application {

public static final String TAG = AppController.class
        .getSimpleName();
private RequestQueue mRequestQueue;
private static AppController mInstance;

@Override
public void onCreate() {
    super.onCreate();
    FontsOverride.setDefaultFont(this, "DEFAULT", "fonts/Rubik-Regular.ttf");
    FontsOverride.setDefaultFont(this, "MONOSPACE", "fonts/Rubik-Regular.ttf");
    FontsOverride.setDefaultFont(this, "SERIF", "fonts/Rubik-Regular.ttf");
    FontsOverride.setDefaultFont(this, "SANS_SERIF", "fonts/Rubik-Regular.ttf");

    mInstance = this;
}

public static synchronized AppController getInstance() {
    return mInstance;
}

public RequestQueue getRequestQueue() {
    if (mRequestQueue == null) {
        mRequestQueue = Volley.newRequestQueue(getApplicationContext());
    }
    return mRequestQueue;
}

public <T> void addToRequestQueue(Request<T> req, String tag) {
    // set the default tag if tag is empty
    req.setTag(TextUtils.isEmpty(tag) ? TAG : tag);
    getRequestQueue().add(req);
}

public <T> void addToRequestQueue(Request<T> req) {
    req.setTag(TAG);
    getRequestQueue().add(req);
}

public void cancelPendingRequests(Object tag) {
    if (mRequestQueue != null) {
        mRequestQueue.cancelAll(tag);
    }
}

}

Телр. java:

public void sendMessage() {
    Intent intent = new Intent(Demo.this, WebviewActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
    intent.putExtra(WebviewActivity.EXTRA_MESSAGE, getMobileRequest());
    intent.putExtra(WebviewActivity.SUCCESS_ACTIVTY_CLASS_NAME, "com.marketplace.activity.SuccessTransationActivity");
    intent.putExtra(WebviewActivity.FAILED_ACTIVTY_CLASS_NAME, "com.marketplace.activity.FailedTransationActivity");
    intent.putExtra(WebviewActivity.IS_SECURITY_ENABLED, isSecurityEnabled);
    startActivity(intent);
}

Я получаю сообщение об ошибке: Intent intent = новое намерение (Demo.this, WebviewActivity.class);

Манифест. xml:

 <application
    android:name="com.marketplace.utils.AppController"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:icon="@mipmap/app_icon_rect"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/app_icon_circle"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:replace="android:theme, android:name"
    android:usesCleartextTraffic="true"
    tools:ignore="GoogleAppIndexingWarning">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...