前台方法在Android的Jellybean中不工作



我已经为我的聊天应用程序实现了服务,这个概念应该是在线的,最后一次看到就像whatsapp一样。

当我实现在线和最后一次看到服务到我的应用程序,当我检查从棒棒糖到棒棒糖,它工作100%正常,但当我检查同样的事情从软糖到棒棒糖,它不再工作了。

@Override
    protected void onStop() {
        super.onStop();
        if (Utils.isAppSentToBackground(getApplicationContext())) {
            // call web Service here
            // Log.e("Angel", "in back");
            Utils.setInBackGround(getApplicationContext(), true);
            callOnlineOfflineService("0");
        }
    }

// code for resume called
    @Override
    protected void onResume() {
        super.onResume();
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
        if (Utils.isInBackGround(getApplicationContext())) {
            // Log.e("Angel", "From back");
            Utils.setInBackGround(getApplicationContext(), false);
            callOnlineOfflineService("1");
        }
    }

这里,Util是我的公共类,我在其中实现了公共方法和setInBackGround方法将凭据设置为SessionManager。

void callOnlineOfflineService(String status) {
        Log.e("status:::::online", "status" +status);
        if(!myclass.isConnected(getApplicationContext())){
            errordialog(getResources().getString(R.string.no_internet));
            return;
        }
        final List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("mode", "setUserOnlineStatus"));
        params.add(new BasicNameValuePair("userId", uid));
        params.add(new BasicNameValuePair("status", status));
        Log.e("status:::::online", "status" +params);
            Runnable runnable = new Runnable() {
                public void run() { 
                    UserFunctions userFunction = new UserFunctions(getApplicationContext());
                    JSONObject json = userFunction.CommonObject(params);
                        try {
                            final String s = json.getString("status");
                            Log.e("status:::::online", "status" +s);
                        } catch (JSONException e) {
                            e.printStackTrace();
                             return;
                        }
                }
            };
            Thread mythread = new Thread(runnable);
            mythread.start();
    }

您的辛勤工作和努力将受到高度赞赏和提前感谢。

我已经试过了,并得出了这个结论,它是有效的。

只要确保你已经给了下面的权限,之后上面的代码对任何人都可以正常工作,否则它不能在某些操作系统上工作。

<uses-permission android:name="android.permission.GET_TASKS" />

相关内容

  • 没有找到相关文章

最新更新