2012-06-07 23 views
1

В андроиде Я хочу начать службу при создании действия.Не удается запустить службу

Я получаю эту ошибку:

E/AndroidRuntime(1433): Caused by: 
    java.lang.IllegalAccessException: access to class not allowed 

Я использую следующий код:

Услуги:

class Myservice extends Service 
{ 
    @Override 
    public void onCreate() { 
     Log.d("Debug", "on create delete sms"); 
     super.onCreate(); 
    } 

    @Override 
    public IBinder onBind(Intent intent) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public void onDestroy() { 
      super.onDestroy(); 
      Log.d("Debug", "on destroy delete sms"); 
     } 

    @Override 
    public void onStart(Intent intent1, int startId) { 

     Log.d("Debug", "on start delete sms"); 
     super.onStart(intent1, startId); 

    } 
} 

активность:

public class ServicetestActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 


     Intent serviceIntent = new Intent(); 
     serviceIntent.setAction("org.avd.Myservice"); 
     getApplicationContext().startService(serviceIntent); 
    } 
} 

androidmanifest:

<application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:name=".ServicetestActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <service android:name="org.avd.Myservice"> 
     <intent-filter> 
         <action android:name="org.avd.Myservice" /> 
      </intent-filter> 
     </service> 
    </application> 
+0

[Это] (http://stackoverflow.com/questions/3278091/android-java-lang-illegalaccessexception-when-attempting-to-use-a-custom-appli) может вам помочь. –

ответ

3

Сделайте ваш файл класса обслуживания в общественном identifire

затем вызвать из вашей деятельности по этому пути

startService(new Intent("yourActivity.this",Myservice .class)); 

и если вы хотите, чтобы остановить службу только подавил код

stopService(new Intent("yourActivity.this",Myservice .class)); 
0

Убедитесь, что ваш класс обслуживания является общедоступным.

0

Пожалуйста, посмотрите, что ваш пользовательский класс является общедоступным и имеет открытый конструктор с нулевым аргументом, а также посмотрите, что конструктор соединяется с конструктором суперкласса.

+0

Copy-Paste [отсюда?] (Http://stackoverflow.com/questions/3278091/android-java-lang-illegalaccessexception-when-attempting-to-use-a-custom-appli)? –

+0

привет samir на самом деле я, когда я был свежим в этом поле, я тоже столкнулся с этой проблемой, поэтому я искал ее здесь и реализовал :) это было полезно, поэтому я ответил –

+0

@ then вы должны поставить комментарий? –

Смежные вопросы