1

私はAndroidの世界に慣れていないので、ユーザーが次のいずれかを開こうとしたときにアプリサービスを開始する方法がわかりません。Bluetooth/ WiFi / GPRS/GPSなど。

4

2 に答える 2

1

OSを変更しない限り、やりたいことはできません。ユーザーが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 に答える