我是靠谱客的博主 愉快大侠,最近开发中收集的这篇文章主要介绍android程序有几个服务,如何从另一个Android应用程序启动Android服务,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我在从另一个Android应用程序(API 17)启动服务时遇到问题.但是,如果我从shell运行'am',服务就会正常运行.

# am startservice com.xxx.yyy/.SyncService

Starting service: Intent { act=android.intent.action.MAIN cat=

[android.intent.category.LAUNCHER] cmp=com.xxx.yyy/.SyncService }

(service starts fine at this point)

# am to-intent-uri com.xxx.yyy/.SyncService

intent:#Intent;action=android.intent.action.MAIN;

category=android.intent.category.LAUNCHER;

component=com.xxx.yyy/.SyncService;end

所以,当我在代码中执行相同操作时,看起来我并没有遗漏任何意图:

Intent i = new Intent();

i.setAction(Intent.ACTION_MAIN);

i.addCategory(Intent.CATEGORY_LAUNCHER);

i.setComponent(new ComponentName("com.xxx.yyy", ".SyncService"));

ComponentName c = ctx.startService(i);

if (c == null) { Log.e(TAG, "failed to start with "+i); }

我得到的是(该服务当时没有运行):

E/tag( 4026): failed to start with Intent {

act=android.intent.action.MAIN

cat=[android.intent.category.LAUNCHER]

cmp=com.xxx.yyy/.SyncService }

我没有关于服务的意图过滤器,我不想设置一个,我真的想要了解我做错了什么,通过它的组件名称启动它,或者什么可能使它不可能这样做.

最后

以上就是愉快大侠为你收集整理的android程序有几个服务,如何从另一个Android应用程序启动Android服务的全部内容,希望文章能够帮你解决android程序有几个服务,如何从另一个Android应用程序启动Android服务所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部