Androidのアプリでホームボタンを押した時なんか(サスペンド時)の後でアプリに戻ると、再起動かかったりしません?それの対処法とかね。
ポケガ2がアップデートされました。
AndroidもiOSもv2.00となっております。
ボイス入って皆喜んでいます。(タブン
とっても可愛い声で「おにいちゃん」って言ってくれるので、是非遊んでください!
動画が見れないって方がいるようです。
おりましたら、是非教えて下さいませ。
ということで、次は「音楽が大きくて声が聞きにくい」という要望を頂いておりますので、オプションにボリューム機能を追加しようと思います。
それと、7月9日~10日に京都のみやこめっせにてBitsummitがあります。
http://bitsummit.org/2016/?lang=ja
こちらブースは出しませんが、Room6さんのブースにポストカードを置かせてもらおうかと思っております。
今の予定では、こちらのブースか、夏コミの誰かのブースでおかせてもらう予定。
限定ポストカードですよ!(タブン
それではUnityとか開発関連のお話。
Androidアプリって起動した後に、ホームボタンなんかで一度裏にいってから、再度アプリのアイコンとかで戻ろうと思ったときに、再度Unityのロゴから再起動とかってことありませんか?
【だめ?】
ゲーム開始>あ、LINEで連絡しないと!(ホームで戻ってLINE)>さてゲーム再開しよーっと>アイコンぽちー>Unityロゴから始まった・・・・・・
【こっちのがいいよね】
ゲーム開始>あ、LINEで連絡しないと!(ホームで戻ってLINE)>さてゲーム再開しよーっと>アイコンぽちー>続きから遊ぶ
まぁUnityに限ったことじゃないんですけど、AndroidのManifestでその辺変わるらしいです。
AndroidManifestにて、
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
こいつがあるActivityが「com.unity3d.player.UnityPlayerProxyActivity」の中の場合はバックにいくとアプリが落ちるらしいです。
こういう場合ですね。
<activity android:name="com.unity3d.player.UnityPlayerProxyActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
</activity>
で、裏にいってもアプリが落ちないためには、「com.unity3d.player.UnityPlayerNativeActivity」の下に入れる必要があるみたいです。
<activity
android:name="com.unity3d.player.UnityPlayerNativeActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="portrait" >
<meta-data
android:name="unityplayer.ForwardNativeEventsToDalvik"
android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
</activity>
あ、なんかちょっと書き方変わりましたが、内容はさっきと変わってないです。はい。
これで裏に行ってもアプリは落ちませんよ!
https://www.facebook.com/groups/unityuserj/permalink/694347140625229/
FaceBookのUnity助け合い所でも過去にこの話題上がってましたね。
ということで、UnityPlayerProxyActivityではなく、UnityPlayerNativeActivityを使いましょうってことでした。
以上!あでゅ~ノシ
Category: 開発日記(Unity)
« まだXcodeの作業でビルドエラーでたまにハマるよって話。 | 【Unity】AudioClipの音の長さ »
コメント
AndroidManifestの変更
すいません、質問させてください。
この再起動させないための、AndroidManifestの変更により、
ユーザー側のスマホのメモリを圧迫してい、
ユーザー側のスマホの動作が遅くなるなどの問題は起きないのでしょうか?
(自身のアプリの重さとユーザーのスマホの使用状況にも左右されると思いますが。)
問題ない程度でしたら、
この変更を加えたいと思っております。
自身のスマホで実験するしかないでしょうか?
できましたら、ご返答おねがいいたします。
st #sgP7TIwg | URL | 2017/07/09 06:36 [edit]
Re: AndroidManifestの変更
stさん コメントありがとうございます。
厳密にメモリ量やその他のデータを測ったわけではないので、断言はできませんが、こちらの設定は「裏に行って戻った時に確実に再起動する」的な動きをさせないための設定のように思えます。
そのため、メモリの圧迫はもちろん少なからずあると思います。
ただし、メモリの圧迫などによる「裏に行って戻った時にアプリを再起動する」というスマホが持ってる機能は働くため、よくあるアプリとしての挙動はとってくれます。
裏から戻った時に「必ず」アプリが再起動するのを防ぐ方法がこちらの方法ではないかと思います。
株式会社ハルシオンシステム #- | URL | 2017/07/09 09:32 [edit]
AndroidManifest
ご返答ありがとうございます。
返信遅れてしまいすいません。
すいません、整理させてください。
このAndroidManifest修正をしない場合
>>必ず、または高い確率でアプリが再起動される。
このAndroidManifest修正をした場合
>>基本的にアプリが再起動されなくなる。
しかしスマホメモリの使用具合によっては
再起動される場合がある。
との理解でよろしいでしょうか?
お忙しいところすいません。
st #- | URL | 2017/07/15 05:52 [edit]
Re: AndroidManifest
> ご返答ありがとうございます。
> 返信遅れてしまいすいません。
>
> すいません、整理させてください。
>
> このAndroidManifest修正をしない場合
> >>必ず、または高い確率でアプリが再起動される。
>
> このAndroidManifest修正をした場合
> >>基本的にアプリが再起動されなくなる。
> しかしスマホメモリの使用具合によっては
> 再起動される場合がある。
>
> との理解でよろしいでしょうか?
> お忙しいところすいません。
上記の動きをすると思ってます!信じてます!(笑)
株式会社ハルシオンシステム #- | URL | 2017/07/18 17:49 [edit]
ご返答、解説、大変ありがとうございました。
| h o m e |