需要权限啊,你要看详细提示,里面会提示具体缺少了哪个权限,然后在AndroidManifest.xml里面加入对应的权限就可以了。
解决方案 »
- 求一个手机数据恢复软件
- 如何调用其它apk中的函数等内容
- android 自定义menu 怎么修改高度
- 如何给ImageView加边框?
- Android系统如何实现联系人分组?
- android.app.ActivityThread.access$1800(ActivityThread.java:112)
- 真机接收不到系统有关通话状态的广播
- Android Studio,无法创建新工程
- 类似【设置】,【一个按钮启动一个activity】效率更高的实现方法
- Android 新搭建开发环境,gen目录下没有R类,clear 都不行
- 我的异步线程怎么给主线程发送消息?就差一点就成功啦,来人帮我看看
- Activitity里面的public void closeOptionsMenu () 什么含义?
注册的service配置文件贴出来看看
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wind.musicplayer"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" /> <application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
android:name=".activity.MyMusicPlayerActivity"
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:name=".serviec.MusicPlayerService">
<intent-filter>
<action android:name="com.wind.MusicService"/>
<action android:name="com.wind.serviceaction"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</service>
</application></manifest>
public static String PLAY_SERVICE = "com.wind.MusicService";
startService(new Intent(MusicPlayerService.PLAY_SERVICE));
下面是AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wind.musicplayer"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk android:minSdkVersion="15" /> <application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<activity
android:name=".activity.MyMusicPlayerActivity"
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:name=".serviec.MusicPlayerService">
<intent-filter>
<action android:name="com.wind.MusicService"/>
<action android:name="com.wind.serviceaction"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</service>
</application></manifest>
android:exported="false"
比如: <service android:name="MusicService" android:exported="false">
没用呀。我以前不会报这样的错
后面升级了SDK 到19版就会这样子的现象
这是一个可以被其他程序访问的Service,需要声明一个权限保护你的service
就是同时在<service>和 <action>中加入android:exported="false",就可以了!如下:
<service android:name=".serviec.MusicPlayerService" android:exported="false">
<intent-filter>
<action android:name="com.wind.MusicService"android:exported="false"/>
<action android:name="com.wind.serviceaction"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</service>
最后把别的manifest文件拷过来才可以,但是我的activity 是最简单的,文件内容也都一样啊
在网上查到的:android:exported 这个属性用于指示该服务是否能够被其他应用程序组件调用或跟它交互。如果设置为true,则能够被调用或交互,否则不能。设置为false时,只有同一个应用程序的组件或带有相同用户ID的应用程序才能启动或绑定该服务。我想问在设置为true的情况下,如何使该服务被其他应用程序组件调用或交互呢,用AIDL吗?我写过AIDL的demo小程序也没有设置过这个属性啊。。
startService(new Intent(MainActivity.this,Service_Player.class));