HOME技術AndroidAndroidアプリ:When using intent filters, please specify ‘android:exported’ as well

Androidアプリ:When using intent filters, please specify ‘android:exported’ as well

Android Studioで「When using intent filters, please specify ‘android:exported’ as well」というエラーメッセージが表示されたので調べました。

IntentFilterにおいてexportedを明示的に宣言する

この問題はAndroid12(SDK API31)以降のAndroidManifest.xmlファイルにおいて、android:exportedを設定していないときに表示されます。

Android11まではandroid:exprotedを宣言しなくても自動的に設定されるようになっていました。

AndroidManifest.xml内で、intent-filterを指定しているときに、そのActivityを外部アプリから呼び出せるようにするか否かの設定です。
android:exported=”true” → 外部アプリに公開する
android:exported=”false” → 外部アプリに公開しない

Android11までは、宣言がなければ、intent-fileterがある場合には、自動的に公開に設定されていましたが、Android12以降では明示的に公開にするか非公開にするかを指定しなければなりません。

exportedの宣言方法

基本的に外部アプリに公開するつもりなくつくっている場合には、非公開に設定しておきます。

<activity android:name=".MainActivity"
    android:screenOrientation="portrait"
    android:exported="false">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

関連記事

Androidアプリ:Firebaseを利用したAdMobの実装方法

AndroidアプリでFirebaseを利用したAdMobの実装方法を調べました。 なお、FirebaseおよびAdMobには既にユーザ登録済みであることを想定しています。 未登録の場合は先に登録して…続きを読む

Androidアプリ:入力された数値を足して表示する

2つのテキストボックスに入力した数値を受け取り、それぞれを足した結果を表示するアプリをつくります。 ここではレイアウト定義ファイルを「activity_main.xml」、 プログラムファイルを「Ma…続きを読む

Androidアプリ:Class ‘Anonymous class derived from OnItemClickListener’…のエラー

Android Studioで開発中に、ListViewを使っていて以下のようなエラーメッセージが出た場合の理由です。 Class ‘Anonymous class derived from OnIt…続きを読む

Androidアプリ:String型の変数に格納した画像や音声ファイル名から表示・再生する

Android Studioを使って画像ファイル名や音声ファイル名から、ImageViewで画像を表示したりMediaPlayerで音声再生する方法です。 String型の変数に、画像ファイル名もしく…続きを読む

Androidアプリ:フォーカスをあてたEditTextのテキストを全選択する

Android StudioでEditTextにフォーカスが当たったと同時に、既に入力されている文字列をすべて選択した状態にする方法です。 EditTextタグに以下のコードを追加 android:s…続きを読む

Androidアプリを実機で確認する

AndroidアプリをAndroid Studioで開発した際に、実際のスマホの画面で動作確認する方法です。 スマホの設定 以下はArrows FX F-02Hの設定方法です(開発者向けオプションを表…続きを読む

Androidアプリ:アプリを更新する場合の設定

一度リリースしたAndroidアプリを更新してアップロードする場合には、必ずバージョンを更新しなければなりません。 今回はバージョンの更新方法について調べました。 build.gradleの修正 bu…続きを読む

Androidアプリ:ボタンやEditTextを角丸にする

Android StudioでボタンやEditTextを配置して、角丸にします。 角丸や色などを指定する場合には、それ専用のxmlファイルを別途用意し、読み込ませるようにします。 ボタンの背景色と角丸…続きを読む

Androidアプリ:数値型のViewの値がNullか0以下かを判定する

Android Studioで数値型のEditTextのViewを配置して、値を取得した場合に、その値がNull値(空)もしくは0以下であるか否かを判定する方法です。 Null判定にlength()を…続きを読む

Androidアプリ:ボタンを押すとメッセージが入れ替わる

Android StudioでAndroidアプリを試作します。 今回は「ボタンを1回押すとテキストの内容が変わり、もう1回押すと元に戻る」というだけのアプリをつくります。 プロジェクトの生成 And…続きを読む