2011-08-29 4 views
0

나는 서비스 활동을 결합하는 것을 시도하고 여기에서 아래 그 내 코드입니다 활동바인딩 서비스는 안드로이드

  Button start = (Button) findViewById(R.id.button1); 
     Button stop = (Button) findViewById(R.id.button2); 
     start.setOnClickListener(this); 
     stop.setOnClickListener(this); 
     } 
    @Override 
     public void onClick(View v) { 
     if(v.getId() == R.id.button1) 
     { 
     Intent i = new Intent(Intent.ACTION_MAIN); 
     i.setClassName("org.example","org.example.ServicesActivity"); 
     bindService(i, conn, 0); 
     } 
     else if(v.getId() == R.id.button2) 
     { 
     unbindService(conn); 
     counter.setText("Number of Binding issss"); 
     }  
     } 
     public ServiceConnection conn = new ServiceConnection() { 

    @Override 
    public void onServiceDisconnected(ComponentName name) { 
     System.out.println("Service is disconnected"); 
    } 

    @Override 
    public void onServiceConnected(ComponentName name, IBinder service) { 
     System.out.println("Service is connected"); 
    } 
     }; 

의 코드이며,이 내 서비스

을위한 코드입니다
   IBinder mBinder = new LocalBinder(); 
     @Override 
      public IBinder onBind(Intent intent) { 
    System.out.println("came to onBind in service"); 
    return mBinder ; 

     } 
      @Override 
      public void onCreate(){ 
      super.onCreate(); 
      System.out.println("came to oncreate in service");  
       } 
       @Override 
       public void onStart(Intent intent,int startId){ 
      super.onStart(intent, startId); 
      System.out.println("came to onstart in service"); 
        } 
      public class LocalBinder extends Binder{ 
      ServicesActivity getService(){ 
      System.out.println("came to Localbinder getservice in service"); 
     return ServicesActivity.this; 
     } 
       } 

내 서비스와 활동이 서로 다른 두 가지 앱인 경우 내 문제는 시작 버튼을 누르면 서비스가 서비스에 바인딩되어야하지만 바인딩되지 않고 오류도 표시되지 않는다는 것입니다. 당신은 할 수 있습니까? 나는 어디에서 내가 실수를하고 있니? 감사합니다.

+0

아무것도 나를 밖으로 스틱 없습니다 ...하지만 당신은 당신의 안드로이드 매니페스트 XML에 서비스를 등록? – harbinja

+0

@Dinko Harbinja : 예. 매니 페스트에도 내 서비스를 등록했습니다. – Durga

+0

하지만 차이점을 많이내는 다른 패키지에 있다면 등록하는 것이 중요합니다. – JoaoFilipeClementeMartins

답변

0

서비스가 설치된 APK 내에서 활동을 실행 했습니까? 독립 실행 형 서비스를 설치하고 사용자 상호 작용이 있기 전에 실행되도록 기대할 수는 없습니다. 사용자는 "중지됨"상태에서 벗어나려면 적어도 한 번 실행해야합니다. 그러면 서비스가 의도에 반응 할 수 있습니다. 이 보안 기능은 Android 3.1에 도입되었습니다.

http://developer.android.com/about/versions/android-3.1.html#launchcontrols

관련 문제