如何通过服务类停止第二次调用活动?

时间:2015-05-14 04:56:28

标签: android

我创建了一个服务来启动按钮点击活动。在第一次活动开始但是当我关闭活动或离开,因为它打开活动是由服务自动启动.Pleas帮助我,我只想启动活动点击按钮不是服务类自动第二次 我使用以下代码 -

服务类

public class Myservise extends Service {
       @Override
       public IBinder onBind(Intent arg0) {
          return null;
       }

       @Override
       public int onStartCommand(Intent intent, int flags, int startId) {
          // Let it continue running until it is stopped.
          Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
          return START_STICKY;
       }
       @Override
    public void onCreate() {
        super.onCreate();
        Intent dialogIntent = new Intent(this, Demo.class);
        dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(dialogIntent);
    }
       @Override
       public void onDestroy() {
          super.onDestroy();
          Toast.makeText(this, "Service Destroyed", Toast.LENGTH_LONG).show();
       }
        }

主要活动

public class MainActivity extends Activity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
                }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

      // Method to start the service
       public void startService(View view) {
          startService(new Intent(getBaseContext(), Myservise.class));
       }
}

第二项活动

public class Demo extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.demo);
    }

}

请帮助我。

1 个答案:

答案 0 :(得分:2)

首先你应该回归

return START_NOT_STICKY; 
<{1}} onStartCommand(..)中的

并尝试停止service

上的服务

另请参阅This SO POST