Android使用AIDL实现进程通信中Service报错的问题

原创 2015年07月07日 10:17:59

Android使用AIDL实现进程通信中Service报错的问题

最近在学习AIDL实现进程通信过程中,一个远程服务Service(应用中无Activity组件,只有一个Service和aidl文件),一个客户端Client(一个Activity和aidl文件)。然后不知道为什么每回打开客户端都会报告服务已停止,搞了半天最后才知道,都是文件命名的坑啊。以下是我Service工程文件。


一开始也不知道怎么想的应用包名起成这样,而在配置文件中,又写成这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mgy.remoteservice"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <service 
            android:name=".StudentQueryService"<!-- 注意这里 -->
            android:enabled="true">
            <intent-filter >
                <action android:name="com.mgy.studentremotequery"/>
            </intent-filter>
        </service>
    </application>

</manifest>

然后可想而知,这能跑起来才怪。。。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mgy.remoteservice"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <service 
            android:name="com.mgy.remote.service.StudentQueryService"<!-- 注意这里 -->
            android:enabled="true">
            <intent-filter >
                <action android:name="com.mgy.studentremotequery"/>
            </intent-filter>
        </service>
    </application>

</manifest>

再次修改,顺利的跑起来了。
当然,直接改包名也是可以的。
一定要注意命名!

Android中AIDL使用 及 AIDL实现进程间的通信

1、什么是AIDL AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无...
  • a78270528
  • a78270528
  • 2016年04月27日 11:53
  • 2069

Android 中的Binder跨进程通信机制与AIDL

如果对进程、线程概念还很懵懂的同学可以看一下之前发表的一篇博客,里面是基础概念: IPC进程间通信/跨进程通信 http://blog.csdn.net/github_33304260/artic...
  • github_33304260
  • github_33304260
  • 2016年11月15日 18:48
  • 951

Android:进程间通信AIDL和广播的效率

Android:进程间通信AIDL和广播的效率
  • u010638189
  • u010638189
  • 2017年06月25日 18:00
  • 893

手把手教你如何用AIDL实现进程通信

AIDL,全称是Android interface definition language,Android接口描述语言。我们知道,每一个进程都有自己的Dalvik VM实例,都有自己的一块独立的内存,...
  • hmmhhmmhmhhm
  • hmmhhmmhmhhm
  • 2017年07月06日 18:10
  • 309

Android studio 下的aidl编程实现Android的夸进程间通信

前言 Android中夸进程间通信方式有很多种方式,比如:aidl,Messenger,文件共享,广播(BroadCast),ContentProvider,Socket(网络通信)。每种方式都有自...
  • feidu804677682
  • feidu804677682
  • 2016年05月09日 18:46
  • 5412

Aidl实现的一个例子

AIDL 与 Messenger的异同 对于跨进程的调用 AIDL返回值是同步的,而Messenger是异步的。Aidl调用service的方法,会等待直到service中的方...
  • time_hunter
  • time_hunter
  • 2016年11月20日 18:54
  • 681

Android Service 之绑定服务和AIDL

今天在这里给大家介绍Android 四大组件中service中的绑定模式onBind(),Activity和Service 之间可以绑定然后做到数据的交互,比如我做一个登录然后在服务中去进行判断,在这...
  • CS2559371050
  • CS2559371050
  • 2017年02月12日 19:39
  • 622

Android Studio下使用AIDL创建和使用远程service

好久没来更新博客了,今天心血来潮来写一篇关于如何在AS下结合AIDL创建和使用远程service。在此之前我先跟大家解释下什么是远程service?以及为什么要使用远程service?相信不管对于安卓...
  • u010214991
  • u010214991
  • 2016年07月05日 18:34
  • 1604

Android 5.0及更高系统使用AIDL的问题

如果你是刚刚使用AIDL的新手, 一定发现在网上找到的其他关于AIDL的资料都是基于较早平台下的(Android 5.0以前). 其代码在更高平台会出现一个比较麻烦的问题, 我花费了好长时间才弄清楚解...
  • ymjiang820
  • ymjiang820
  • 2015年12月22日 08:03
  • 1676

Android Service讲解 和 aidl 实现

Android Service讲解 和 aidl 实现代码下载 Android Service讲解 和 aidl 实现一、Android Service1.建立一个serviceservice和act...
  • u012915455
  • u012915455
  • 2016年11月10日 16:46
  • 1403
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android使用AIDL实现进程通信中Service报错的问题
举报原因:
原因补充:

(最多只允许输入30个字)