【发布时间】:2014-05-03 12:19:57
【问题描述】:
现在我正在使用 Service 使用一项 Web 服务。现在我想发送该数据(我已从 Main Activity)到下一个Activity,有没有人知道呢
请给个建议
感谢您的宝贵时间!..
请查找我的来源以供参考
MainActivity.java
public class MainActivity extends Activity {
AlarmManager alarm;
PendingIntent pintent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startService(new Intent(this, MyService.class));
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(this, MyService.class);
pintent = PendingIntent.getService(this, 0, intent, 0);
alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
// Start service every 20 seconds
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),10* 1000, pintent);
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
alarm.cancel(pintent);
stopService(new Intent(MainActivity.this,MyService.class));
}
}
MyService.java
public class MyService extends Service {
String result_data = "";
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onCreate() {
Toast.makeText(this, "The new Service was Created", Toast.LENGTH_LONG).show();
}
@Override
public void onStart(Intent intent, int startId) {
// For time consuming an long tasks you can launch a new thread here...
Toast.makeText(this, " Service Started", Toast.LENGTH_LONG).show();
Authentication_Class task = new Authentication_Class();
task.execute();
}
@Override
public void onDestroy()
{
Toast.makeText(this, "Servics Stopped", Toast.LENGTH_SHORT).show();
super.onDestroy();
}
public class Authentication_Class extends AsyncTask<Void, Void, Void>
{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
}
@Override
protected Void doInBackground(Void... params)
{
// TODO Auto-generated method stub
try {
Call_service();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
private void Call_service() throws Exception{
// TODO Auto-generated method stub
System.setProperty("http.keepAlive", "false");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
String URL = "";
String METHOD_NAME = "";
String NAMESPACE = "";
String SOAPACTION = "";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
// Add parameters if available
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransportSE = new HttpTransportSE(URL,15000);
try {
httpTransportSE.call(SOAPACTION, envelope);
SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
result_data = String.valueOf(result);
System.out.println(">>-- RESPONSE : " +result_data);
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
}
}}
【问题讨论】:
标签: android service data-transfer