Я только начал играть с сервисами на Android, и я пытаюсь сделать скрытое приложение, которое отключает телефон при запуске. Я следил за этой веткой: Android hidden applicationСлужба скрытого приложения при запуске не работает
Он не показывает никаких ошибок, но служба не вызывает вызов semm при запуске.
Это мой 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>
Кроме того, мой serviceCode: `
package com.example.timer;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class serviceCode extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent("com.example.service");
i.setClass(context, serviceCode.class);
context.startService(i);
}
}
И моя служба:
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);
}
}
Я своего рода замешательстве becouse я следовал и ничего не происходит. Когда я включаю телефон, звук находится на одном значении. Я также попытался поставить там тост, чтобы узнать, даже начинается ли сервис, но он не появился.
Мой LogCat:
[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!
Спасибо за помощь.
Работает ли после запуска? – ant
На самом деле я пытаюсь сделать приложение, которое автоматически отключает мой телефон в школьное время. Я не хочу, чтобы это приложение отображалось в списке приложений, потому что я ненавижу бесполезные значки. Вот почему я решил сделать приложение, которое скрыто, не имеет никакой активности. Я хотел бы знать, есть ли способ сделать это возможным. Жаль, что это так, потому что скрытые приложения - единственное, что может изменить систему, например Task Scheduler для Windows. Я был бы рад, если бы вы могли рекомендовать мне способ сделать это. Также у меня есть встроенный телефон, поэтому, если есть что-то, пожалуйста, поделитесь им. Но все равно спасибо. – user3000140
Есть ли способ имитировать взаимодействие с пользователем, чтобы приложение было остановлено после установки? Или есть способ сделать операцию удаленной после запуска и оставить службу запущенной, пока приложение скрыто? – user3000140