我发动从我的活动,在这个服务我试图找出哪些是处于错误状态,但是当我的代码达到行
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
然后应用程序停止工作进程的数目服务。当我调试我的应用程序时,我发现在点击上面的行后,调试器导航到cleanUpPendingRemoveWindows()中的文件ActivityThread.java,并显示消息“源代码与字节码不匹配”。我无法理解为什么会发生这种情况?
我的代码是:
import android.app.ActivityManager;
import android.app.Service;
import android.app.usage.UsageStats;
import android.app.usage.UsageStatsManager;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
public class Senddata_1 extends Service {
String TAG = "uEarn:Senddata_1";
public void find_out_process_in_error_state(){
List processErrorStateInfos;
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
processErrorStateInfos = am.getProcessesInErrorState();
if(processErrorStateInfos != null) {
for (ActivityManager.ProcessErrorStateInfo pes : processErrorStateInfos) {
Log.e(TAG, "Process in Error state" + pes.processName);
Log.e(TAG, "Process error messga" + pes.shortMsg);
message = message + "
Process in Error state:" + pes.processName + ", error message:" + pes.shortMsg + "
\n";}
}
return;
}
public Senddata_1() {
// TODO: Get the Filename through the intent
Log.e(TAG, "Inside service Senddata_1");
find_out_process_in_error_state();
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
// return;
}
}
2017-06-30
Pagar
+0
你在哪里打这个服务?有没有办法android getSystemService不工作,也许你需要添加权限或只是忘记调用方法 –
+0
我从另一个活动调用此服务名为Senddata_1。 –
+0
你应该在onStartCommand中使用这个方法而不是构造函数。您不能通过创建新对象直接调用服务。在这种情况下,上下文将为空。在这样的活动中调用你的服务:startService(new Intent(this,Senddata_1 .class)); –