두 개의 클래스 인 MainActivity와 SMSMonitorService가 있습니다.onPostExecute() 결과를
MainActivity 클래스에서 AsyncTask를 구현합니다.
SMSMonitorService 클래스에는 두 개의 매개 변수 인 String number와 String responseText가있는 senReplySMS 메서드가 있습니다.
sendReplySMS 매개 변수 (responseText)로 onPostExecute() 결과를 보내려고합니다. 이 앱은 시작되지 않습니다
MainActiviy.class
public class MainActivity extends ActionBarActivity {
/*.
. Code
.
*/
public class DownloadWebpageTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
// params comes from the execute() call: params[0] is the url.
try {
return downloadUrl(urls[0]);
} catch (IOException e) {
return "Unable to retrieve web page. URL may be invalid.";
}
}
// onPostExecute displays the results of the AsyncTask.
@Override
protected void onPostExecute(String result) {
//Extract String between two delimiters.
String finalResult = StringUtils.substringBetween(result, "extract\":\"", "\"}}}}");
String finalResponse = StringEscapeUtils.unescapeJava(finalResult);
textView.setText(finalResponse);
Intent intent = new Intent(MainActivity.this, SMSMonitorService.class);
intent.putExtra("onPostResult", finalResponse);
startService(intent);
}
}
SMSMonitorService.class
public void sendReplySMS(String number, String responseText) {
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, responseText, null, null);
}
public int onStartCommand (Intent intent, int flags, int startId){
String onPostReceive = intent.getStringExtra("onPostResult");
sendReplySMS(number, onPostReceive);
return START_STICKY;
}
.
어떻게 sendReplySMS 메서드 매개 변수로 onPostExecute() 결과 문자열을 보내나요?
미리 감사드립니다.
편집 :
수정 : 서비스를 실행하기위한 내가 토글 버튼을 누르면, 내가 힘이 가까이 얻을.
로그 캣 :
이12-30 00:24:33.647 10929-10929/com.textnet.apitest I/MainActivity﹕ SMSMonitor Started
12-30 00:24:33.927 10929-10929/com.textnet.apitest I/SMSMonitorService﹕ SMS Monitor service started
12-30 00:24:33.937 10929-10929/com.textnet.apitest I/SMSMonitorService﹕ Broadcast Receiver registered
12-30 00:24:33.977 10929-10929/com.textnet.apitest W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40b099f0)
12-30 00:24:34.147 10929-10929/com.textnet.apitest E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start service [email protected] with Intent { cmp=com.textnet.apitest/.SMSMonitorService }: java.lang.IllegalArgumentException: Invalid destinationAddress
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2376)
at android.app.ActivityThread.access$1900(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Invalid destinationAddress
at android.telephony.SmsManager.sendTextMessage(SmsManager.java:88)
at com.textnet.apitest.SMSMonitorService.sendReplySMS(SMSMonitorService.java:31)
at com.textnet.apitest.SMSMonitorService.onStartCommand(SMSMonitorService.java:38)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2359)
at android.app.ActivityThread.access$1900(ActivityThread.java:123)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
at dalvik.system.NativeStart.main(Native Method)
'intent.getStringExtra ("onPostResult"); –
"앱이 시작되지 않습니다"- 무슨 뜻입니까 ?? – Chandrakanth
응용 프로그램이 시작되지 않습니다. 나쁜 영어로 실례합니다. – androidBegginer