2015-04-07 47 views
0

這就是我的MainActivity和RecorderService Java類文件的外觀。我也添加了AndroidManifest文件。ActivityNotFoundException:無法找到顯式活動類服務

MainAcitivity.java

protected void onCreate(Bundle savedInstanceState) { 

     btnSendSOS.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       sendSMS(); 

       Intent intent = new Intent(getBaseContext(), RecorderService.class); 
       intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
       startActivity(intent); 

       finish(); 

       new CountDownTimer(5000, 1000) { 

       @Override 
       public void onTick(long millisUntilFinished) { 

       } 

       @Override 
       public void onFinish() { 
        stopService(new Intent(getApplicationContext(), RecorderService.class)); 
       } 
      }.start(); 
     }); 


} 

RecorderService.java

public class RecorderService extends Service { 
    // Service code here 
} 

的AndroidManifest.xml

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      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:enabled="true" 
      android:name=".RecorderService" /> 
</application> 

我已將該服務添加到Manifest文件。但我仍然得到錯誤:android.content.ActivityNotFoundException: Unable to find explicit activity class {.RecorderService}; have you declared this activity in your AndroidManifest.xml?

請幫我。在此先感謝

+0

不使用基本上下文只使用活動名稱。這和清單中給服務類的完整路徑,並使用startService不startActivity ...然後清潔你的項目,然後嘗試.. –

+2

嗯,你試圖啓動你的'服務'使用'startActivity(intent);'。你需要使用'startService(intent);' - 線索在方法名中。 – Squonk

+0

@RohitGoswami對不起。我的壞..我沒有看到 – Bhargav

回答

4

RecorderService服務。不是Activity。而Start Service

Intent i = new Intent(MainActivity.this, RecorderService.class); 
    startService(i); 

轉到Official Docs以獲取更多信息方面Services的Android

+1

我會'getBaseContext()''MainActivity.this'。很少需要使用基本上下文。除此之外,你的答案顯然是正確的。 – Squonk

+0

@Squonk你說得對。 –

相關問題