【发布时间】:2014-06-16 08:23:03
【问题描述】:
还请解释它是如何工作的。当我的应用程序关闭时,这也应该有效。(它应该在后台运行)
【问题讨论】:
-
您需要为此注册广播接收器
-
这个链接可能对你有帮助thinkandroid.wordpress.com/2010/01/24/…
还请解释它是如何工作的。当我的应用程序关闭时,这也应该有效。(它应该在后台运行)
【问题讨论】:
您需要为此注册广播接收器
当应用程序在后台关闭时这项工作
public class MyReceiver extends BroadcastReceiver
{
private static int countPowerOff = 0;
public MyReceiver ()
{
}
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF))
{
Log.e("In on receive", "In Method: ACTION_SCREEN_OFF");
countPowerOff++;
}
else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON))
{
Log.e("In on receive", "In Method: ACTION_SCREEN_ON");
}
else if(intent.getAction().equals(Intent.ACTION_USER_PRESENT))
{
Log.e("In on receive", "In Method: ACTION_USER_PRESENT");
if (countPowerOff > 2)
{
countPowerOff=0;
Toast.makeText(context, "MAIN ACTIVITY IS BEING CALLED ", Toast.LENGTH_LONG).show();
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);
}
}
}
}
【讨论】: