Mon application Android en cours de création par Android Studio empêche maintenant involontairement mon appareil Galaxy de verrouiller l'écran et de dormir. autorisations demandées sont suivantes:L'application Android empêche l'appareil de verrouiller l'écran et de dormir
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Plus tôt, je compris la permission
<!--<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>-->
mais maintenant cette ligne est commenté. Seules les permissions INTERNET
et ACCESS_NETWORK_STATE
sont maintenant demandées. J'ai essayé de supprimer (désinstaller) explicitement mon application de l'appareil et de l'installer à nouveau, mais l'application (lorsqu'elle est lancée et active) ne permet pas à l'appareil de se mettre en veille. Quand une autre application est active (mon application est lancée mais inactive), l'appareil s'endort dans un temps défini. L'application utilise les classes PendingIntent
, Broadcast
et AlarmManager
, mais le périphérique ne dort pas même si aucune méthode de ces classes n'est appelée. classe n'est pas utilisé.
AndroidManifest.xml suit:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="spectorsky.timer">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>-->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="spectorsky.timer.MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysHidden"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="MyAlarmReceiver" />
</application>
Voici la classe de récepteur:
public class MyAlarmReceiver extends BroadcastReceiver {
public MyAlarmReceiver() {
super();
}
public void onReceive(Context context, Intent intent)
{
int channelNumber=intent.getIntExtra("channelNumber",13);
String ipAddress=intent.getStringExtra("ipAddress");
int nChannel=intent.getIntExtra("nChannel",13);
intent.getParcelableExtra("messenger");
new TVTimerAsync(ipAddress,nChannel,m, context).execute(MainActivity.digitReader(channelNumber));
}
}
Et voici le code invoquant BroadCast:
MyIntent myIntentAlarm;
int myIntentId=0;
AlarmManager myAlarmManager;
...... .............
myAlarmManager.set(AlarmManager.RTC_WAKEUP, d.getTime(), PendingIntent.getBroadcast(MainActivity.this, myIntentId++,
myIntentAlarm, PendingIntent.FLAG_ONE_SHOT));
Merci d'avance pour toute idée. PS Il ya beaucoup de messages sur un tel problème, mais je ne pouvais pas trouver quelque chose comme mon cas.
s'il vous plaît fournir votre fichier manifeste et aussi vérifier s'il y a un code lié à l'autorisation réveiller verrouillage. Programme mentionné – KDeogharkar
sans plus d'extraits de code de votre application, nous pouvons seulement deviner quel est votre problème ici .. – IIIIIIIIIIIIIIIIIIIIII
AndroidManifest.xml a été ajouté. Les seules choses dans le code qui pourraient se rapporter au verrou de réveil sont les classes 'PendingIntent',' Broadcast' et 'AlarmManager'. Cependant, même si je lance simplement l'application et qu'aucune méthode de ces classes n'est exécutée, les périphériques ne peuvent pas s'endormir. Dois-je fournir sur Créer de mon activité principale? C'est de 85 lignes ... – Spectorsky