recherche

Maison  >  Questions et réponses  >  le corps du texte

android6.0 toast不能用全局变量context,怎么办?

想在网络请求之前进行一次“网络可用”的判断,如果网络不可用,我就不执行网络请求,直接return。
在android5.0是正常可以判断,并且弹出Toast。
但是android6.0的机子进行运行,不能弹出Toast。
网上搜索之后,有人说这是因为Toast不能用全局变量Context...还是迷茫不知道到底是怎么回事。望解答!
//检查网络方法,(context是从Activity得到传向HttpUtils的)
`private void checkNet(Context context){

    isNetAvailable=NetWorkTools.isNetWork(context);
    if(!isNetAvailable){
        PromptManager.closeProgressDialog();
        PromptManager.showToast(context, "网络不可用,请检查网络后再重试!");
        return;
    }
}

`
//HttpUtils的网络请求
public void login(Context context,HashMap<String, String> params, Response.Listener<String> successListener, Response.ErrorListener errorListener) {

    checkNet(context);
    System.out.println("params:" + params);
    StringRequest request = new StringRequest(Method.POST, Constants.LOGIN, params, successListener,errorListener);
    VolleyUtils.getInstance(mContext).addToRequestQueue(request);
}

望解答!谢谢!

迷茫迷茫2771 Il y a quelques jours593

répondre à tous(4)je répondrai

  • 阿神

    阿神2017-04-18 09:15:46

    PromptManager.showToast(); Cette méthode encapsule la classe Toast. Vous pouvez directement utiliser Toast pour voir s'il y a un problème avec le téléphone 6.0. Si cela vous convient, veuillez également publier la méthode showToast();

    répondre
    0
  • 阿神

    阿神2017-04-18 09:15:46

    Toast, vous pouvez utiliser directement le contexte de l'application. De plus, si l'application mobile désactive l'option de notification, vous ne pourrez pas voir le Toast

    .

    répondre
    0
  • 迷茫

    迷茫2017-04-18 09:15:46

    Ce que vous avez dit ci-dessus est correct. Toast n'est pas visible après avoir désactivé les autorisations de notification dans la version 6.0 et supérieure, et il n'y a aucun problème à utiliser toast dans mon projet personnel (7.0). Il est recommandé de vérifier la logique d'implémentation spécifique.

    répondre
    0
  • PHPz

    PHPz2017-04-18 09:15:46

    1. Vérifiez si cette notification d'application est désactivée sur votre téléphone. J'ai déjà rencontré ce problème.
    2. Utilisez la méthode Toast.make().show() directement si nécessaire pour vérifier si Toast sort
    3 Vous pouvez également utiliser SnackBar pour remplacer Toast

    .

    répondre
    0
  • Annulerrépondre