1

As I am new to Android world i have no idea how to start my app service when the user try to open any of these following.Bluetooth/WiFi/GPRS/GPS etc.

4

2 回答 2

1

除非您正在修改操作系统,否则您无法做您想做的事情。当用户打开 BT、GPS 或 WiFi 时,Android 没有广播。

您可以注册以AlarmManager不时唤醒您并检查您关心的任何这些服务的状态。如果两者都没有启动,您的代码可以再次休眠,直到下一次唤醒,当您重复时。

请注意,您必须小心您希望在闹钟时间方面具有多大的攻击性。您这样做的次数越多,设备电池消耗的速度就越快,用户卸载您的应用程序的可能性就越大。

于 2012-05-12T23:56:50.697 回答
0

是的,这是可能的。请参阅以下代码:

NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(     ConnectivityManager.TYPE_MOBILE );
    if ( activeNetInfo != null && mobNetInfo != null )
    {
      Toast.makeText( context, "Connected: " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();      
      context.startService(new Intent(context,SampleService.class));
}
于 2012-05-12T06:12:54.763 回答