アンドロイドウェアのアプリを常にインタラクティブモードにしておく方法があるかどうかを知る必要があります。アンドロイドウェアでアプリをコーディングして、画面を常にアクティブに保つにはどうすればいいですか? (常にインタラクティブモードで)
時計回りが外に出るときはいつも、時計回りの動きが可能か、時計は周囲に入るのでしょうか?
アンドロイドウェアのアプリを常にインタラクティブモードにしておく方法があるかどうかを知る必要があります。アンドロイドウェアでアプリをコーディングして、画面を常にアクティブに保つにはどうすればいいですか? (常にインタラクティブモードで)
時計回りが外に出るときはいつも、時計回りの動きが可能か、時計は周囲に入るのでしょうか?
回答は、あなたの「アプリ」がアクティビティかサービスかによって異なります。
アクティビティはさらに何もする必要なしにandroid:keepScreenOn="true"
と指定するだけです。
サービス(アラーム/タイマーウォッチフェイスなど)の場合は、透明な「常時オン」のアクティビティを開始することをおすすめします。 AFAIK、現在、システムは、通常のスクリーンオンサイクル期間を超えた完全な起床ロックで画面をオンにするサービスを許可しません。これは、ウェイクロックの誤用による可能性があります。アクティビティでは、これは現在可能であり、あなたのための却下操作(サイドボタンの押下、手のひらなど)を処理する利点があります。私は "タイマー"時計のセットのセットで同様のパターンを使用しました。ここで
は、あなたがサービスから常時オンの実現可能性がある方法は次のとおりです。時計を目覚め責任サービス/活動に
:
private PowerManager.WakeLock mFullWakeLock;
// Initialization...
PowerManager pm =(PowerManager) getSystemService(Context.POWER_SERVICE);
mFullWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "WatchFaceAlarmWokenUp");
// Elsewhere, when the watch needs to be woken by the service...
// Wake the watch to give ourselves some time to start the activity
mFullWakeLock.acquire(2000l);
Intent intent = new Intent(this, AlarmExpiredActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
あなたAlarmExpiredActivity
レイアウトは次のプロパティを指定する必要があります。 android:keepScreenOn="true"
android:onClick="hide"
と指定して、ユーザーが時計を消耗しているものを簡単に殺すことをお勧めします。
おそらくそうではありません。また、ここでは2つのことがあることを覚えておかなければなりません:スクリーンが最大限に使用されるインタラクティブモードと、プロセッサの低/高電力モード。たとえば、WakeLockを使用すると、プロセッサをアクティブに保つことができますが、スクリーンの電源がオフになることはありません。 –
これはまだ有用な情報ですが、あなたが望むものを達成するために4つのwakelockのうちの3つを使用するReferee Watchがあります。 「それで画面が消えるのを防ぐことができない」ということは正確ではありません。あなたもそうすることができます。あなたが詳細を知りたい場合は私にPMしてください。 – Opus1217