2012-06-25 40 views
0

我想创建服务(?),它将始终在后台运行,并在系统启动时启动。另外,我希望它检测到双主按钮按下,然后启动指定的活动。可能吗?背景中的主页按钮监听器

+0

出于安全原因(Android的众神不希望开发人员创建用户无法退出的应用程序),您无法捕捉主页按钮事件。 – overbet13

回答

2

当系统启动时,你可以这样做:

public class PhoneStateReceiver extends BroadcastReceiver{ 

    @Override 
    public void onReceive(final Context context, Intent intent) { 

     if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){ 
      Intent launch = new Intent(context, ServiceToLaunch.class); 
      launch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startService(launch); 
     } 
    } 
} 

在您的清单补充一点:

<receiver android:name=".receiver.PhoneStateReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

添加权限:

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

2.没有可用的主页键事件。

+0

好的,谢谢你的回复。因此,如果我无法检测到主屏幕按钮按下,是否可以检测到,当用户将手指从屏幕底部滑动到屏幕顶部时? –