小编and*_*rer的帖子

不推荐使用ActivityManager.getRunningTasks

我正在android中的推送通知,我使用下面的方法来显示通知,但问题是现在ActivityManager.getRunningTasks(1); 正在被弃用.从一个计算器问题,我读到:"你可以用getAppTasks()返回一个List<AppTask>在那里你可以得到RecentTaskInfogetTaskInfo"但我不能弄清楚如何使用它.在这方面请帮帮我.

private void postNotification(Context ctx, Intent intent) {
        try {
            if (intent == null) {
                Log.d(TAG, "Receiver intent null");
            } else {
                String action = intent.getAction();
                if (action.equals("com.ziza.cy.UPDATE_STATUS")) {

                    JSONObject json = new JSONObject(intent.getExtras()
                            .getString("com.parse.Data"));

                    String type = json.getString("type");

                    if (type.equals("AlertNotification")) {

                        String msg = json.getString("header");
                        String title = "ncy";

                        ActivityManager am = (ActivityManager) ctx
                                .getSystemService(Context.ACTIVITY_SERVICE);
                        List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
                        ComponentName componentInfo = taskInfo.get(0).topActivity;

                        // don't show notification if app is …
Run Code Online (Sandbox Code Playgroud)

android deprecated push-notification activity-manager

17
推荐指数
3
解决办法
3万
查看次数

每个android都有ConcurrentModificationException

我是路过ArraylistParseObject,然后我把一个一个foreach循环,提取符合条件的项目时,用户对象不等于空.我面临两个问题.1.如果我通过将不同的数据传递到另一个列表然后在我的适配器中传递该列表来执行以下代码行,我将获得带有数字的随机数据,例如:如果在项目#1上,名称是"MAC",那么它在第3项中显示.

ArrayList<ParseObject> checkRequestedNetArrayList = new ArrayList<ParseObject>();
requestedNetArrayList = (ArrayList<ParseObject>) objects;
MyResponsibilitesActivity.requestedNetArrayList = requestedNetArrayList;
adapterRequest = new GenericAdapter<ParseObject>(
    getApplicationContext(),
    requestedNetArrayList,
    R.layout.requested_trust_net_list_item,
    requestedDataBinder);

requestListView.setAdapter(adapterRequest);

requestedNetArrayList = (ArrayList<ParseObject>) objects;

for(ParseObject object: objects){
    System.out.println(object);
    object.getParseObject("user");
    if(object.has("user")){

        checkRequestedNetArrayList.add(object);

    }else{
        checkRequestedNetArrayList.remove(object);
    }

}

adapterRequest = new GenericAdapter<ParseObject>(
    getApplicationContext(),
    checkRequestedNetArrayList,
    R.layout.requested_trust_net_list_item,
requestedDataBinder);

requestListView.setAdapter(adapterRequest);
Run Code Online (Sandbox Code Playgroud)
  1. 如果我正在执行以下代码行直接给出相同列表中的项目,我得到了 java.util.ConcurrentModificationException

    for(ParseObject object: objects){
    
        if(object.has("user")){
    
            requestedNetArrayList.add(object);
    
        }
    }
    else{
        requestedNetArrayList.remove(object);
    }
    
    adapterRequest = new GenericAdapter<ParseObject>(
        getApplicationContext(),
        requestedNetArrayList,
        R.layout.requested_trust_net_list_item,
        requestedDataBinder);
    
    requestListView.setAdapter(adapterRequest);
    
    Run Code Online (Sandbox Code Playgroud)

    }

请帮帮我.

java android list concurrentmodification

0
推荐指数
1
解决办法
714
查看次数