Android服务没有以警告开头

时间:2014-01-08 06:30:47

标签: android android-service android-implicit-intent

我有一项应该在后台上传照片的服务。但是,当我尝试启动它时,它无法启动。在logcat中我注意到我收到了警告Implicit intents with startService are not safe : Intent { .....}。我已经三倍检查了清单中的动作字符串是否相同以及我的开始。我的代码:
清单:

<service android:name=".photosupload.services.PhtosUploadService" 
  android:exported="false" android:process=":uploadPhotosServiceProcess">
  <intent-filter>
    <action android:name="com.yoovi.app.photosupload.services.action.START_UPLOAD" />
  </intent-filter>
</service>

启动服务代码:

  Intent i = new Intent(PhtosUploadService.ACTION_START_UPLOAD);
  i.putExtra(PhtosUploadService.ALBUM_ID, albumID);
  context.startService(i);

2 个答案:

答案 0 :(得分:5)

您需要了解隐含和显式意图。

显式意图意味着您需要指定从中提供意图的确切类。

您的代码应与

类似
    Intent i = new Intent();  
i.setClass(this, photosupload.services.PhtosUploadService.class);

答案 1 :(得分:0)

如果您想向服务发送隐式意图 - 请在清单中更改为android:exported =“true”。