質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

0回答

165閲覧

アップデートの30秒程度intentservceが動かない件について

rainysk

総合スコア27

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2018/02/10 13:01

編集2018/02/25 10:58

runしたあとの30~40秒の間foregroundのserviceからホームボタンを押したときにIntentServiceを使用できなくなっています。仕様ですか?

#コード1service

@Override
public void onCreate() {

super.onCreate(); final SharedPreferences sn=getSharedPreferences("today",MODE_MULTI_PROCESS); final SharedPreferences.Editor editor=sn.edit(); editor.putInt("start",1).commit(); m_HomeButtonReceive = new HomeButtonReceive(); IntentFilter iFilter = new IntentFilter(); iFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); this.registerReceiver(m_HomeButtonReceive, iFilter); } public int onStartCommand(Intent intent, int flags, int startId) { Notification notification=new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.icon) .setContentText("×××" ) .setContentTitle("×××").build(); NotificationManager manager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); manager.notify(1,notification); startForeground(1,notification); return START_STICKY; }

@Override
public IBinder onBind(Intent intent) {
return null;
}

public class HomeButtonReceive extends BroadcastReceiver { @Override public void onReceive(Context arg0, Intent arg1) { Bundle bundle = (arg1 == null) ? null : arg1.getExtras(); Object o = (bundle == null) ? null : bundle.get("reason"); Toast.makeText(arg0.getApplicationContext(),(String)o,Toast.LENGTH_LONG).show(); if (((String)o).equals("homekey")) {//o instanceof String && if (sn.getInt("×××", 0) != 1) startService(new Intent(getApplicationContext(), APPintentservice.class)); } } }

#コード2 intentservice
public class APPintentservice extends IntentService {

public APPintentservice(String name) { super(name); } public APPintentservice() { super("APPintentservice"); } @Override protected void onHandleIntent(Intent data) { SystemClock.sleep(100); Intent intent = new Intent(); intent.setAction("×××"); sendBroadcast(intent); }

}

自分のコードから抜粋してきたので抜けがあるかもしてません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aja

2018/02/13 08:08

Serviceはバックグラウンドで動作しているのとは違うということでしょうか?コードと説明を分かり易すると回答がつくと思います。
aja

2018/02/26 04:13

どれが何のコードかわかりにくいです。コード1serviceはこれで1つのjavaクラスでしょうか?また、コードは```でくくって書かないと見にくいです。質問フォーマットをよく見て、他の人の質問も参考に整理しましょう。またどうしたら再現できるかステップ毎にわかりやすくしましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問