服务启动次数太多

时间:2014-11-05 18:23:19

标签: android android-service

我已经定义了在应用程序启动时启动的服务。

我在服务的 Toast 方法中有一个onCreate来跟踪它的启动时间。

一切正常,但当我在其他应用程序或应用程序列表中时,会显示 onCreate Toast。这意味着我的服务已启动,但不是我的应用程序。

我的清单看起来像这样:

    <permission
        android:name="net.test.lib.service.SERVICE_PERMISSION"
        android:protectionLevel="signature" />

    <uses-permission android:name="net.test.lib.service.SERVICE_PERMISSION" />

    <application ...>

      <service
         android:name="net.test.lib.service.MyService"
         android:exported="false"
         android:permission="net.test.lib.service.SERVICE_PERMISSION" >
         <intent-filter>
             <action android:name="net.test.lib.service.LAUNCH_SERVICE" />
         </intent-filter>
     </service>
   </application>

我注意到虽然我的服务需要许可,但即使我没有为我的应用程序设置权限,我也可以启动它。

需要帮助,我被困......

修改

这是我的服务代码:

public class MyService extends Service {
    private final IBinder _binder = new LocalBinder();

    public class LocalBinder extends Binder {
        public MyService getService() {
            return MyService.this;
        }
    }

    @Override
    public IBinder onBind(Intent intent) {
        return _binder;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Toast.makeText(getBaseContext(),"Service.onCreate", Toast.LENGTH_LONG).show();
        refresh();
    }

    public void refresh(){

        [...]

    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        Toast.makeText(getBaseContext(),"onDestroy", Toast.LENGTH_LONG).show();

    }
 }

我可以在没有许可的情况下启动我的服务,尽管我的服务需要一个。奇怪的...

0 个答案:

没有答案