Android 启动时隐藏应用程序的服务不工作

Android 启动时隐藏应用程序的服务不工作,android,android-service,Android,Android Service,我刚开始在安卓系统中使用服务,我正在尝试制作一个隐藏的应用程序,在启动时使手机静音。我是沿着这条线索走的: 它没有显示任何错误,但启动时不需要调用该服务 这是我的Android/清单 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.timer" android:versionCode="1" android:versionName="1.0" > &l

我刚开始在安卓系统中使用服务,我正在尝试制作一个隐藏的应用程序,在启动时使手机静音。我是沿着这条线索走的:

它没有显示任何错误,但启动时不需要调用该服务

这是我的Android/清单

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

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

   <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />



<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">

       <receiver android:name="org.example.timer.serviceCode" >
              <intent-filter >
                 <action android:name="android.intent.action.BOOT_COMPLETED" />
              </intent-filter>
        </receiver>
         <service android:name="org.example.timer.service" />
</application>
我的服务:

package com.example.timer;

import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.os.IBinder;

public class service extends Service {
  private AudioManager myAudioManager;

  @Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}
@Override  
public void onCreate() {
        super.onCreate();
        myAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        myAudioManager.setStreamMute(AudioManager.STREAM_ALARM, true);
        myAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);
        myAudioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
        myAudioManager.setStreamMute(AudioManager.STREAM_RING, true);
        myAudioManager.setStreamMute(AudioManager.STREAM_SYSTEM, true);
}
}
我有点困惑,因为我在跟随导游,什么也没发生。当我打开电话时,声音的值是相同的。我还试着在那里放上吐司,看看服务是否启动了,但没有出现

我的日志:

[2014-09-06 16:13:46 - timer] ------------------------------
[2014-09-06 16:13:46 - timer] Android Launch!
[2014-09-06 16:13:46 - timer] adb is running normally.
[2014-09-06 16:13:46 - timer] No Launcher activity found!
[2014-09-06 16:13:46 - timer] The launch will only sync the application package on the device!
[2014-09-06 16:13:46 - timer] Performing sync
[2014-09-06 16:13:47 - timer] Uploading timer.apk onto device '0c295416'
[2014-09-06 16:13:47 - timer] Installing timer.apk...
[2014-09-06 16:13:49 - timer] Success!
[2014-09-06 16:13:49 - timer] \timer\bin\timer.apk installed on device
[2014-09-06 16:13:49 - timer] Done!

谢谢您的帮助。

检查AndroidManifest中的包名

您向android:name=org.example.timer.serviceCode注册receiver,但java类包中的包是com.example.timer

upd:

首先,您必须创建活动并至少启动一次。


我只是自己测试一下——效果很好。

实际上,我想做的是制作一个应用程序,在上课时间自动静音我的手机。我不希望此应用程序显示在应用程序列表中,因为我讨厌无用的图标。这就是为什么我决定制作一个没有活动的隐藏应用程序。我想知道是否有办法使之成为可能。令人遗憾的是,它是这样的,因为隐藏的应用程序是唯一可以修改windows任务调度器这样的系统的东西。如果你能给我推荐一种方法,我会很高兴的。此外,我有一个根手机,所以如果有什么,请分享它。但还是要感谢。有没有一种方法可以模拟用户交互,让应用程序在安装后从停止状态恢复?或者有没有一种方法可以让活动在启动后自动删除,并在应用程序隐藏时保持服务运行?我想我有一种方法可以帮你。只需使用命令行启动应用程序。看这里
[2014-09-06 16:13:46 - timer] ------------------------------
[2014-09-06 16:13:46 - timer] Android Launch!
[2014-09-06 16:13:46 - timer] adb is running normally.
[2014-09-06 16:13:46 - timer] No Launcher activity found!
[2014-09-06 16:13:46 - timer] The launch will only sync the application package on the device!
[2014-09-06 16:13:46 - timer] Performing sync
[2014-09-06 16:13:47 - timer] Uploading timer.apk onto device '0c295416'
[2014-09-06 16:13:47 - timer] Installing timer.apk...
[2014-09-06 16:13:49 - timer] Success!
[2014-09-06 16:13:49 - timer] \timer\bin\timer.apk installed on device
[2014-09-06 16:13:49 - timer] Done!