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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

2回答

1003閲覧

Service()に送ったintentが受け取れない

kakashi55

総合スコア25

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2021/11/13 14:29

○やりたいこと
MainActivityで設定した(アラーム)時間をServiceに送り、Serviceで値2つ(○時、×分)を受け取る

○教えていただきたいこと
ServiceのonCreate内で送られてきたintentを取得するためにgetIntent()を使うと、
Unresolved reference: getIntent となり値を受け取れない
(エラーを消すためにimportするとdeprecatedとなる)

初歩的なエラーかと思いますが、エラー改善できなく大変困っております。
エラー改善方法をご教授いただけないでしょうか。
よろしくお願いいたします。

MainActivity

1        //intentの送信 2 fun sendIntent(){ 3 val intent = Intent(this, ForegroundService::class.java) 4 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 5 Log.d("debug","ver high") 6 intent.putExtra("sendHour", hourInt) 7 intent.putExtra("sendMinute", minuteInt) 8 startForegroundService(intent) 9 } else { 10 Log.d("debug","ver low") 11 startService(intent) 12 } 13 }

ForegroundService

1class ForegroundService : Service() { 2 3 override fun onCreate() { 4 super.onCreate() 5 Log.d("debug", "MyService is started") 6 7 var intent = getIntent() 8 var getHour = intent!!.getIntExtra("sendHour", 0) 9 var getMinute = intent!!.getIntExtra("sendMinute", 0) 10 Log.d("debug", "受け取った時間: " + getHour.toString() + ";" + getMinute.toString()) 11 } 12}

Unresolved reference: getIntent
'getIntent(String!): Intent!' is deprecated. Deprecated in Java

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

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

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

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

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

guest

回答2

0

ドキュメントを読み、onStartCommandでintentを取り出すことができました。

投稿2021/11/14 08:37

kakashi55

総合スコア25

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

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

0

ベストアンサー

Service クラスで使用出来るメソッドに関しましては、 Service のドキュメントを参照してください。

また、アクティビティからのパラメータの取得方法に付きましても、相応のドキュメントを探して確認されたほうが良いかと思います。

投稿2021/11/13 19:45

編集2021/11/13 19:47
jimbe

総合スコア13168

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

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

kakashi55

2021/11/14 00:08

画面推移のintentと暗黙intentでは使用できるメソッドが異なるということでしょうか。 今までは画面推移とservice起動のintentは同じだと思い使っておりました。
jimbe

2021/11/14 04:26

全てのものはそれぞれの事情によって作られています。 世界中の車が似た形でもハンドルの位置が全て右かと言うとそうではないように、 onCreate だからといって、 Intent だからといって、 起動時のパラメータだからといって、全てが同じに書ける・動作するとは限らないのは当たり前です。 現状では「取扱説明書を読まずに思い込みで操作して動かないとサポートに質問している」ようなものです。
kakashi55

2021/11/14 08:36

ドキュメントを読み、onStartCommandでintentを取り出すことができました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問