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

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

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

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

Q&A

解決済

2回答

1764閲覧

kotlin 指定した時間にアプリを起動し画面を立ち上げる

minamirishin

総合スコア8

Kotlin

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

0グッド

1クリップ

投稿2021/06/21 13:29

編集2021/07/17 08:53

やりたいこと

掲題の通りです。
画面を立ち上げる機能はkotlinにありますか?
javaでなければ実装できないでしょうか?

ソース

MainActivty

1package com.example.myapplication 2 3import android.app.AlarmManager 4import android.app.PendingIntent 5import android.content.BroadcastReceiver 6import android.content.Context 7import android.content.Intent 8import android.os.Bundle 9import android.util.Log 10import android.widget.Button 11import androidx.appcompat.app.AppCompatActivity 12import java.util.* 13 14 15class MainActivity : AppCompatActivity() { 16 override fun onCreate(savedInstanceState: Bundle?) { 17 super.onCreate(savedInstanceState) 18 setContentView(R.layout.activity_main) 19 20 val btn: Button = findViewById(R.id.btn) 21 btn.text = "before" 22 btn.setOnClickListener { 23 // 時間をセットする 24 25 val calendar: Calendar = Calendar.getInstance() 26 // Calendarを使って現在の時間をミリ秒で取得 27 calendar.setTimeInMillis(System.currentTimeMillis()) 28 // 5秒後に設定 29 calendar.add(Calendar.SECOND, 5) 30 31 val intent = Intent( 32 applicationContext, 33 AlarmBroadcastReceiver::class.java 34 ) 35 val pending = PendingIntent.getBroadcast( 36 applicationContext, 0, intent, 0 37 ) 38 // アラームをセットする 39 val am = getSystemService(ALARM_SERVICE) as AlarmManager 40 41 am.setExact(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, pending) 42 43 44 } 45 } 46} 47 class AlarmBroadcastReceiver : BroadcastReceiver() { 48 override fun onReceive(context: Context?, intent: Intent?) { 49 val intent = Intent(context, MainActivity::class.java) 50 intent.action = "received" 51 val pIntent = PendingIntent.getActivity(context, 0, intent, 0) 52 pIntent.send() 53 } 54 } 55

AndroidManifest

1<?xml version="1.0" encoding="utf-8"?> 2<manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.myapplication"> 4 <uses-permission android:name="android.permission.WAKE_LOCK"/> 5 <application 6 android:allowBackup="true" 7 android:icon="@mipmap/ic_launcher" 8 android:label="@string/app_name" 9 android:roundIcon="@mipmap/ic_launcher_round" 10 android:supportsRtl="true" 11 android:theme="@style/Theme.MyApplication"> 12 <activity android:name=".MainActivity"> 13 <intent-filter> 14 <action android:name="android.intent.action.MAIN" /> 15 16 <category android:name="android.intent.category.LAUNCHER" /> 17 </intent-filter> 18 </activity> 19 <receiver android:name=".AlarmBroadcastReceiver"/> 20 </application> 21 22</manifest>

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

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

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

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

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

guest

回答2

0

ベストアンサー

Androidoのアプリのことを言っているんでしょうか?

だとしても、kotlinでも可能ですよ。

やりかたはご存じなのかもしれませんが、「android AlarmManager アプリを起動」あたりで検索するといくつか出てきますね。

投稿2021/06/21 14:23

TakaiY

総合スコア13790

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

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

minamirishin

2021/07/17 08:59

回答遅れてすいません。 「android AlarmManager アプリを起動」で調べて上記の通りにソースを書いたのですが、力不足で 思った通りのコールドスタートはできませんでした。 アプリを自動で起動したいのですが、なにが間違ってますか
guest

0

質問がいまいち意味不明ですが、
タイトルどおりであるなら、タスクスケジューラとかcronとか使えば、指定した時間にアプリを起動することができますね

投稿2021/06/21 14:10

編集2021/06/21 14:10
y_waiwai

総合スコア88042

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問