4

如何在 android 代码中获取正在运行的服务列表并使用 SMS 发送它SMSManager

4

3 回答 3

8

AndroidManifest.xml在您的文件中包含以下权限

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

此方法显示两个任务:

public void sendSMS {
    // This is the code to find the running services
    ActivityManager am = (ActivityManager)this.getSystemService(Activity.ACTIVITY_SERVICE);
    List<ActivityManager.RunningServiceInfo> rs = am.getRunningServices(50);
    String message = null;

    for (int i=0; i<rs.size(); i++) {
        ActivityManager.RunningServiceInfo rsi = rs.get(i);
        Log.i("Service", "Process " + rsi.process + " with component " + rsi.service.getClassName());
        message =message+rsi.process ;
    }

    //This is the code to send sms.
    String phoneNumber = "0123456789";
    SmsManager smsManager = SmsManager.getDefault();
    smsManager.sendTextMessage(phoneNumber, null, message, null, null);
}

方法细节。

public void sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)
于 2013-05-13T11:18:47.460 回答
5

你可以这样做:

ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> rs = am.getRunningServices(50);

for (int i=0; i<rs.size(); i++) {
  ActivityManager.RunningServiceInfo
  rsi = rs.get(i);
  Log.i("Service", "Process " + rsi.process + " with component " + rsi.service.getClassName());
}
于 2013-05-13T10:57:12.840 回答
5

就像这样:

ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
      String serv = service.service.getClassName();
}
于 2013-05-13T11:06:03.473 回答