마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

인텐트 중복사용가능한가요?

0 추천

package com.androday.test;

import android.app.Activity;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	Button btnStopService;
	Button btnSaveService;
	Button btnSave;
	Button btnChart;
	Button btnMap;
	Button btnSet;

	Intent intentMyService;

	BroadcastReceiver receiver;

	boolean flag = true;

	Toast toast;// 시작 메세지 Toast

	TextView CountText;

	String serviceData;
	MYDBOpenHelper mydb;
	SQLiteDatabase mdb;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		intentMyService = new Intent(this, MyServiceIntent.class);
		// 실행되기 원하는 서비스 등록

		receiver = new MyMainLocalRecever();

		CountText = (TextView) findViewById(R.id.countText);

		btnStopService = (Button) findViewById(R.id.btnStopService);
		// 서비스 중지

		btnStopService.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {

				if (flag) {

					btnStopService.setText("멈춤 !!");

					// TODO Auto-generated method stub
					try {

						IntentFilter mainFilter = new IntentFilter(
								"com.androday.test.step");

						registerReceiver(receiver, mainFilter);

						startService(intentMyService);
						// txtMsg.setText("After stoping Service:\n"+service.getClassName());
						Toast.makeText(getApplicationContext(), "카운트를 시작합니다", 1)
								.show();
					} catch (Exception e) {
						// TODO: handle exception
						Toast.makeText(getApplicationContext(), e.getMessage(),
								1).show();
					}
				}

				else {

					btnStopService.setText("시작 !!");

					// TODO Auto-generated method stub
					try {

						unregisterReceiver(receiver);

						stopService(intentMyService);

						Toast.makeText(getApplicationContext(), "서비스 중지", 1)
								.show();
						// txtMsg.setText("After stoping Service:\n"+service.getClassName());
					} catch (Exception e) {
						// TODO: handle exception
						Toast.makeText(getApplicationContext(), e.getMessage(),
								1).show();
					}
				}

				flag = !flag;

			}
		});

		btnSaveService = (Button) findViewById(R.id.btnSaveService);
		btnSaveService.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				mydb = new MYDBOpenHelper(MainActivity.this, null, null, 0);
				mdb = mydb.getWritableDatabase();
				mdb.execSQL("insert into score values(null, null," + CountText
						+ ")");

				startActivity(new Intent(MainActivity.this, ScoreActivity.class));

			}
		});

		btnChart = (Button) findViewById(R.id.btnChartService);
		btnChart.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				Intent i = new Intent();
				// Main에서 Second로 연결
				i.setClass(MainActivity.this, ChartActivity.class);
				startActivity(i);

			}
		});

	}

	class MyMainLocalRecever extends BroadcastReceiver {

		@Override
		public void onReceive(Context context, Intent intent) {
			// TODO Auto-generated method stub

			serviceData = intent.getStringExtra("serviceData");

			CountText.setText(serviceData);

			Toast.makeText(getApplicationContext(), "Walking . . . ", 1).show();

		}

	}

}

만보기 어플에 Main 액티비티에 만보기서비스인텐트와  124번째 줄부터 버튼을 눌렀을때 액티비티를 이동시키기위한 인텐트를 동시에 사용하려면 어찌 해야하나요?

124번째~136번 줄을 추가하니 아예 어플 실행이 안됩니다

tpwls1224 (160 포인트) 님이 2014년 2월 7일 질문

1개의 답변

0 추천
해당 라인을 추가한닫고해서 앱이 실행이 되지 않지는 않을거라 보입니다.

버튼을 클릭 시 에러가 난다거나 하면 에러로그를 올려주시면 좋을 듯 합니다.

(실행이 안된다면, Console에서 실행로그쪽에서 에러가 났는지 확인해보시기 바랍니다)
ShakeJ (6,320 포인트) 님이 2014년 2월 8일 답변
에러로 봐주세요! 부탁드립니다
...