タグ付けされた質問 「android-service」

サービスは、ユーザーと対話せずに実行時間の長い操作を実行したい、または他のアプリケーションが使用する機能を提供したいというアプリケーションの要望を表すアプリケーションコンポーネントです。

3
PendingIntentはIntentエキストラを送信しません
私MainActicity はRefreshServiceと呼ばれるエキストラIntentがあるで始まります。booleanisNextWeek 私RefreshServiceは、ユーザーがクリックしたときにNotification開始MainActivityするを作成します。 これは次のようになります。 Log.d("Refresh", "RefreshService got: isNextWeek: " + String.valueOf(isNextWeek)); Intent notificationIntent = new Intent(this, MainActivity.class); notificationIntent.putExtra(MainActivity.IS_NEXT_WEEK, isNextWeek); Log.d("Refresh", "RefreshService put in Intent: isNextWeek: " + String.valueOf(notificationIntent.getBooleanExtra(MainActivity.IS_NEXT_WEEK,false))); pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); builder = new NotificationCompat.Builder(this).setContentTitle("Title").setContentText("ContentText").setSmallIcon(R.drawable.ic_notification).setContentIntent(pendingIntent); notification = builder.build(); // Hide the notification after its selected notification.flags |= …

11
Android-サービスにstartForegroundを実装していますか?
したがって、サービスをフォアグラウンドで実行するためにこのメソッドをどこにどのように実装するかわかりません。現在、私は別のアクティビティで次のようにサービスを開始しています: Intent i = new Intent(context, myService.class); context.startService(i); そして、myServicesのonCreate()で、startForeground()を試します...? Notification notification = new Notification(); startForeground(1, notification); ええ、私は少し迷っていて、これを実装する方法がわかりません。

13
バックグラウンドタスクまたはサービスから現在のフォアグラウンドアプリケーションを特定する
組み込みのアプリケーション(メッセージング、連絡先など)がいつ実行されているかを認識する、バックグラウンドで実行される1つのアプリケーションが欲しいです。 だから私の質問は: アプリケーションをバックグラウンドで実行する方法。 私のバックグラウンドアプリケーションが、フォアグラウンドで現在実行されているアプリケーションを知る方法。 経験のある方からの回答をお待ちしています。

2
サービスを開始するためのAndroid onCreateまたはonStartCommand
通常、Androidサービスを作成するときにonCreateメソッドを実装しますが、最後のプロジェクトではこれが機能しません。私は実装しようとしましたonStartCommandが、これはうまくいくようです。 問題は、どのメソッドが必要なサービスを実装する必要があるかです。どのメソッドを実装する必要がありますか?onCreate、onStartCommandまたはその両方?そして、それぞれの役割は何ですか?

1
渡されたインテントがonStartCommandでNULLになる理由
onStartCommand(Intent, int, int)などのフラグを介してシステムがサービスを再起動する以外に、渡されるインテントがNULLになる理由は他にありますSTART_STICKYか? また、サービスがシステムによって再起動されると、Intent.getAction()メソッドはNULLを返します...時々。意図はNULLだけではないgetAction() 私もここで尋ねましたが、まだ返事が来ていません。 更新:Mark Murphyとチャットした後、再起動後にインテント全体が送信されるようにする代わりに、サービスSTART_REDELIVER_INTENTのonStartCommand()コールバックで戻ることを提案しましたSTART_STICKY。 サービスが何かを実行しようとした場合、その途中でサービスが再起動されたのではないかと心配していたので、最初はこれを実行しませんでした...サービスはその何かを開始したことを認識しますか?それは私が責任を負う必要があるロジックだと思います:)

5
IntentとPendingIntentの違い
私はいくつかの記事を読みましたが、どちらも同じことをしているようで、そのようにサービスを開始することの違いは何だろうと思っていました。 Intent intent = new Intent(this, HelloService.class); startService(intent); またはそのように: Calendar cal = Calendar.getInstance(); Intent intent = new Intent(this, MyService.class); PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0); AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 30*1000, pintent); 読んだとおり、サービスでパラメーターSTART_STICKYを返す場合、これら2つは同じことを行います。

4
メインアクティビティなしでAndroidアプリケーションを起動し、アプリケーションの起動時にサービスを開始します
アプリケーションに次のシナリオがあります。私のアプリケーションにはUIがありません。代わりに、起動時に開始され、継続的に実行されるサービスがあります。 メインアクティビティなしでマニフェストファイルを構成するにはどうすればよいですか?アクティビティなしでアプリを起動できますか?アプリを起動すると、サービスが開始されます。これは可能ですか? サービスを開始するために半透明のアクティビティを作成したくありません。

2
サービス内のブロードキャストレシーバー
BroadcastReceiver内でを起動しようとしていますService。私がやろうとしているのは、service着信テキストメッセージを収集し、着信通話をログに記録するバックグラウンド実行です。これを行う最善の方法は、serviceどちらかをカタログできる放送受信機を組み込んだランニングをすることです。 これを行うにはどうすればよいですか?サービスはすでに稼働しています。

14
通知を表示せずにForeground()を開始するにはどうすればよいですか?
サービスを作成してフォアグラウンドで実行したいと思います。 ほとんどのサンプルコードには通知があります。しかし、私は通知を表示したくありません。それは可能ですか? いくつか例を挙げていただけますか?代替手段はありますか? 私のアプリサービスはメディアプレーヤーをやっています。アプリがサービス自体を強制終了する以外に、システムがサービスを強制終了しないようにする方法(ボタンで音楽を一時停止または停止するなど)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.