2

私は次のコードを持っています:

package com.example.task;

import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainTask extends Activity {

private Button BprocessesShow;
private TextView processesShow;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_task);

    ActivityManager manager =       (ActivityManager)getSystemService(ACTIVITY_SERVICE);
     final List<ActivityManager.RunningAppProcessInfo> runningProcesses = manager.getRunningAppProcesses();


    BprocessesShow=(Button) this.findViewById(R.id.BshowProcesses);
    processesShow=(TextView) this.findViewById(R.id.showProcesses);     


    BprocessesShow.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {


            processesShow.setText((CharSequence) runningProcesses);
        }
    });

}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main_task, menu);
    return true;
}

}

私がやりたいのは、ユーザーが私が作ったボタンを押したときに、彼/彼女に彼の電話で実行中のすべてのプロセスを表示したいということです...私の携帯電話でこのアプリケーションを実行していると、アプリがクラッシュし、すべて残念ながらタスク(私の名前のアプリ)が停止しました...どんな助けも非常に役に立ちます!!というメッセージが表示されます。

4

1 に答える 1

1

この行で

processesShow.setText((CharSequence) runningProcesses);

リストをCharSequenceにキャストしています。これらの線に沿って何かを試してください:

StringBuilder b = new StringBuilder();
for (ActivityManager.RunningAppProcessInfo process: runningProcesses) {
    b.append(processs.processName);
    b.append("\n");
}
processesShow.setText(b.toString());
于 2012-12-09T23:11:52.617 に答える