Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android服务不以警告开始_Android_Android Service_Android Implicit Intent - Fatal编程技术网

Android服务不以警告开始

Android服务不以警告开始,android,android-service,android-implicit-intent,Android,Android Service,Android Implicit Intent,我有一个应该在后台上传照片的服务。但当我试图启动它时,它不会启动。在logcat中,我注意到我得到一个警告startService的隐式意图不安全:意图{…}。我已经检查了三倍,确认清单中的操作字符串与我开始使用的相同。我的代码:清单: <service android:name=".photosupload.services.PhtosUploadService" android:exported="false" android:process=":uploadPhotosServ

我有一个应该在后台上传照片的服务。但当我试图启动它时,它不会启动。在logcat中,我注意到我得到一个警告
startService的隐式意图不安全:意图{…}
。我已经检查了三倍,确认清单中的操作字符串与我开始使用的相同。我的代码:
清单:

<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();  
i.setClass(this, photosupload.services.PhtosUploadService.class);

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

为什么我不能隐式启动它?我在我的另一个应用程序中做了完全相同的事情,它工作得非常完美。你可以,但是如果你使用startservice,android会发出警告。“startService的隐式意图是不安全的”但它没有启动,我在
onCreate
和on
onStart命令中有断点,但它从未到达那里。这是另一个问题,变量ACTION\u start\u uploading的值是什么为什么不使用intentservice?
    Intent i = new Intent();  
i.setClass(this, photosupload.services.PhtosUploadService.class);