我创建了一个android应用程序,我必须创建一个有关在后台启动应用程序的通知,并且启动时间会很短,我会成功获取正在运行的应用程序,但无法生成该应用程序已运行了多长时间。例如-> Talking Tom从最近3小时开始运行等等。

公共类ListAdapter扩展了ArrayAdapter {

// List context
private final Context context;

// List values
private final List<RunningAppProcessInfo> values;

public ListAdapter(Context context, List<RunningAppProcessInfo> values) {
    super(context, R.layout.activity_main, values);
    this.context = context;
    this.values = values;
}

/**
 * Constructing list element view
 */
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    long re = MainActivity.recived;
    long sd = MainActivity.send;
    System.out.println("hii");
    long po=MainActivity.pos;
/*    if(position!=po)
        return null;   */
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View rowView = inflater.inflate(R.layout.activity_main, parent, false);

    TextView appName = (TextView) rowView.findViewById(R.id.appNameText);
    appName.setText(values.get(position).processName);

    TextView sendtxt = (TextView) rowView.findViewById(R.id.sendtv);
    sendtxt.setText(String.valueOf(re/1024));

  //  sendtxt.setText(b1.getString("passed2"));
    TextView receivetxt = (TextView) rowView.findViewById(R.id.receivetv);
    receivetxt.setText(String.valueOf(sd/1024));

  //  receivetxt.setText(b1.getString("passed1"));

    return rowView;

}


}

我的第二堂课是:->

公共类ApplicationAdapter扩展了ArrayAdapter {

 private List<ApplicationInfo> appsList = null;
    private Context context;
    private PackageManager packageManager;

    public ApplicationAdapter(Context context, int textViewResourceId,
            List<ApplicationInfo> appsList) {
        super(context, textViewResourceId, appsList);
        this.context = context;
        this.appsList = appsList;
        packageManager = context.getPackageManager();
    }

    @Override
    public int getCount() {
        return ((null != appsList) ? appsList.size() : 0);
    }

    @Override
    public ApplicationInfo getItem(int position) {
        return ((null != appsList) ? appsList.get(position) : null);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if (null == view) {
            LayoutInflater layoutInflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = layoutInflater.inflate(R.layout.snippet, null);
        }

        ApplicationInfo data = appsList.get(position);
        if (null != data) {
            TextView appName = (TextView) view.findViewById(R.id.app_name);
            TextView packageName = (TextView) view.findViewById(R.id.app_paackage);
            ImageView iconview = (ImageView) view.findViewById(R.id.app_icon);

            appName.setText(data.loadLabel(packageManager));
            packageName.setText(data.packageName);
            iconview.setImageDrawable(data.loadIcon(packageManager));
        }
        return view;
    }
};

最佳答案

     //   get time value of all the processes (in Milliseconds)

   long millisSinceBoot = SystemClock.elapsedRealtime();
    long time = ((millisSinceBoot - values.get(position).activeSince)/1000);
    //Log.i("HRHHRHRHRHR", "%%%%%%%%%%%%%%%%"+time);
    String time1 = String.valueOf(time);
    time_list.add(time);
    int seconds = (int) (time / 1000) % 60 ;
    int minutes = (int) ((time / (1000*60)) % 60);
    int hours   = (int) ((time / (1000*60*60)) % 24);
    String time11 = hours+":"+minutes+":"+seconds;
    Log.i("Time", "Secs:- "+seconds+" "+"Mins:- "+minutes+" "+"Hours:- "+hours);
    timer.setText(time1);

10-07 12:42
查看更多