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

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

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

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

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Android Studio

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

Q&A

解決済

1回答

8670閲覧

Androidホームに表示されるアプリ名と内部のアプリ名を別にしたい

rkrd

総合スコア35

Android

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

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Android Studio

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

0グッド

0クリップ

投稿2017/06/22 07:05

編集2017/06/22 08:35

###前提・実現したいこと
Androidのホームに表示されるアプリ名と、内部のアプリ名を別のものを設定しようとしています。
具体的には、ホームアプリで表示される名前(以下、名前Aとします)と、
[設定]ー[アプリ]で表示される名前(以下、名前Bとします)を別の文字列を設定したいです。
理由としては、ホームで表示される文字数が少ないため、名前Aは略称を、名前Bは正式名を設定しようとしています。
名前Bは、アプリをアンインストールする際に「このアプリをアンインストールしますか?」のダイアログタイトルに表示されるものと同じという認識です。

###発生している問題・エラーメッセージ
AndroidManifest.xmlで以下のように設定することで、表題の件自体は実現できました。

xml

1 <application 2 android:allowBackup="true" 3 android:icon="@mipmap/ic_launcher" 4 android:label="名前B" 5 android:roundIcon="@mipmap/ic_launcher_round" 6 android:supportsRtl="true" 7 android:theme="@style/AppTheme"> 8 <activity android:name=".MainActivity" 9 android:label="名前A"> 10 <intent-filter> 11 <action android:name="android.intent.action.MAIN"/> 12 <category android:name="android.intent.category.LAUNCHER"/> 13 </intent-filter> 14 </activity> 15 </application>

しかしながら、上記の設定をすると、アプリアンインストール時に表示されるダイアログが以下のようになります。
「名前Aは次のアプリの一部です:名前B.
このアプリをアンインストールしますか?」

名前Aと名前Bが一致しているアプリはただ単に
「このアプリをアンインストールしますか?」とだけ表示されます。
名前Aと名前Bが一致していなくても一致している場合と同じメッセージにするにはどのように記述すればいいのでしょうか。

###補足情報(言語/FW/ツール等のバージョンなど)
Android Studio 2.3.2
build.gradle 2.3.2
テスト環境 Nexsus 5X API24 emulator

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

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

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

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

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

guest

回答1

0

ベストアンサー

下記の変更を行うとどうでしょうか?
・名前Bを名前Aのところに記述
・名前Aをintent-filterに記述

投稿2017/06/22 07:43

yona

総合スコア18155

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

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

rkrd

2017/06/22 08:12

「名前Bを名前Aのところに」→MainActivityのlabelを名前Aに 「名前Aをintent-filterに」→MainActivityのintent-filterのlabelに記載 と捉えましたので以下のように設定しました。 ```XML <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="名前B" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="名前B"> <intent-filter android:label="名前A"> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> ``` 結果はホーム表示名、「すべてのアプリ」のアプリ名の全部が名前Bになってしまいました。
yona

2017/06/22 08:18

テストのために下記のようにしてください。 applicationタグのlabel属性→A activityタグのlabel属性→B intent-filterタグのlabel属性→C また、この結果は一度アンインストールしてから再度インストールしてからの結果でしょうか?
rkrd

2017/06/22 08:28

以下のように上からA,B,Cを設定しました。 テストはアンインストールしてからのインストールで確認しています。 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="名前A" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="名前B"> <intent-filter android:label="名前C"> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> ホームの表示名→名前B すべてのアプリの表示名→名前A となりましたが、アンインストール時に 「名前Bは次のアプリの一部です:名前A」が表示されるようになりました。 intent-filterのがどこにも効いてないようです。 何か上記で記載方法に誤りがあるのでしょうか。
rkrd

2017/06/22 08:56

Nougat端末以外だと、  ホームの表示名→名前C  すべてのアプリの表示名→名前A になりました。 Nougatだけintent-filterが効いてないみたいです。
yona

2017/06/22 09:00

Nougat端末以外だとアンインストール時の表示は意図通りということですか? 仕様が変わった可能性がありますね。
rkrd

2017/06/22 09:08

はい、 「applicationタグのlabel属性」「activityタグのlabel属性」に名前B(長い名前) 「intent-filterタグのlabel属性」に名前A(短い名前) を設定することで、Marshmallow以前の端末では意図した表示になりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問