2015-04-12 2 views
1

Я хочу знать в своем приложении, если телефон может отключиться, так как батарея может быть низкой. Я делаю обмен данными между клиентом и сервером.Обнаруживать телефон Android выключен, когда батарея разряжена.

Существует, видимо, вещательное действие ACTION_SHUTDOWN. Будет ли это трансляция отправляться, если телефон может отключиться из-за критически низкой батареи?

ответ

2

Да, ваше приложение может получить это сообщение, если вы реализуете класс BroadcastReceiver, как показано ниже.

public class ShutdownReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
    //Insert your code here 
    } 
} 

и не забудьте добавить в файл манифеста следующее.

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

и это:

<receiver android:name=".ShutdownReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.ACTION_SHUTDOWN" /> 
    </intent-filter> 
</receiver> 

Вы также можете сделать то же самое для ACTION_BATTERY_LOW.

+0

DEVICE_POWER разрешено только для системных приложений? – slashdottir

+0

Мне удалось заставить его работать без необходимости добавления разрешения DEVICE_POWER - кажется, не требуется. Также, как указано [link] http://stackoverflow.com/questions/10448304/handling-phone-shutdown-event-in-android здесь, необходимо включить 'action android: name =" android.intent.action.QUICKBOOT_POWEROFF "' в фильтре намерения. – dazed

Смежные вопросы