解决方案 »
- 如何新增加一个git工程(求高手指导)
- 关于Android 百度地图“交通路线”的“起点”和“终点”气泡去除,换成自定义的图像。
- 关于android系统运行纯java的讨论
- 网站与手机客户端相结合的位置服务签到疑惑
- android传感器自定义传感器数据频率
- 高手指点一下
- 关于android http get请求的问题
- android 模拟器不能加载 SoundPool
- VS2010使用Mono为什么我新建的项目中layout文件夹下的Main.axml使用设计视图浏览时出现"未能完成操作,尚未实现"
- 求大神解:付款页面如何能够跳转至支付宝客户端
- 学习android
- android2.2平台下开发问题高分请教高手
整个过程中我的activity始终都处于前端,应该不是这个。继续期待...
我可以表达的不是很完整为了清楚的看到Service是如何运作的,我在每个回调函数中都输出字串来跟踪我现在是只调用bindService()方法,而 没有 调用unBindService()
但我的LOG中依旧显示的是onCreate()-->onBind()-->onUnbind()-->onDestroy()
按正常来说,后两个方法是不会自动调用的奇怪就奇怪在这里
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class firstandroidproject extends Activity implements OnClickListener { /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("onCreate()");
Button button1 = (Button)findViewById(R.id.button1);
Button button2 = (Button)findViewById(R.id.button2);
Button button3 = (Button)findViewById(R.id.button3);
Button button4 = (Button)findViewById(R.id.button4);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
System.out.println("onStart()");
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
System.out.println("onResume()");
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("onPause()");
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
System.out.println("onStop()");
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("onDestroy()");
} @Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
System.out.println("onRestart()");
}
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setClass(this, TService.class);
ServiceConnection sconn = new ServiceConnection() {
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
//System.out.println("sconn-Disconnected");
}
public void onServiceConnected(ComponentName name, IBinder service) {
// TODO Auto-generated method stub
//System.out.println("sconn-Connected");
}
};
switch (v.getId()) {
case R.id.button1:
startService(intent);
break;
case R.id.button2:
stopService(intent);
break;
case R.id.button3:
bindService(intent, sconn, Context.BIND_AUTO_CREATE);
case R.id.button4:
unbindService(sconn);
default:
break;
}
}
}
结贴。
10-15 14:46:15.956: ERROR/AndroidRuntime(994): ERROR: thread attach failed
10-15 14:46:40.684: ERROR/AndroidRuntime(1001): Uncaught handler: thread main exiting due to uncaught exception
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): java.lang.IllegalArgumentException: Service not registered: sgtmav.test.helloworld.firstandroidproject$1@43b96408
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.app.ActivityThread$PackageInfo.forgetServiceDispatcher(ActivityThread.java:930)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.app.ApplicationContext.unbindService(ApplicationContext.java:819)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.content.ContextWrapper.unbindService(ContextWrapper.java:342)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at sgtmav.test.helloworld.firstandroidproject.onClick(firstandroidproject.java:129)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.View.performClick(View.java:2364)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.View.onTouchEvent(View.java:4179)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.widget.TextView.onTouchEvent(TextView.java:6541)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.View.dispatchTouchEvent(View.java:3709)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.os.Handler.dispatchMessage(Handler.java:99)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.os.Looper.loop(Looper.java:123)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at android.app.ActivityThread.main(ActivityThread.java:4363)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at java.lang.reflect.Method.invokeNative(Native Method)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at java.lang.reflect.Method.invoke(Method.java:521)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
10-15 14:46:40.715: ERROR/AndroidRuntime(1001): at dalvik.system.NativeStart.main(Native Method)
不能作为方法里的局部变量,应该定义为类变量。否则每次按钮onClick都会产生新对象