バックグラウンドで実行されるスパイ アプリが必要なクライアントがあります。受信メッセージ、送信メッセージ、GPS 位置情報などを取得します。Activity のユーザー インターフェイスなしでサービスを開始できますか? 私が理解しているように、サービスと受信機が必要です。また、受信機を呼び出す必要があります。たとえば、バッテリーが少ない、バッテリーがOKであるとしましょう-いくつかの非常に頻繁にトリガーされるインテントです。これをエミュレーターでテストするにはどうすればよいですか?
とりあえず持ってるのはこれ
public class MyReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction() != null)
{
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED) ||
intent.getAction().equals(Intent.ACTION_USER_PRESENT))
{
context.startService(new Intent(context, MyService.class));
}
// TODO Auto-generated method stub
}
} }
受信機用と
public class MyService extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this,"Service created ...",Toast.LENGTH_LONG).show();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service destroyed ...",
Toast.LENGTH_LONG).show();
}
}
サービスのため。これをマニフェストに入れました
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.services"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="4"
android:targetSdkVersion="4" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<service android:name=".MyService"></service>
<receiver android:name=".MyReceiver"></receiver>
</application>
私は良い方向に進んでいますか?