[[Android関連]] >
* 他アプリケーションのContextを取得する(Android) [#t5d582f0]
#setlinebreak(on);

** 他アプリの Context を取得する [#v3352b5f]
アプリケーションで定義されたリソース(文言や画像)等は、基本的にそのアプリの Context からしか取得できないが、
Context.createPackageContext で対象アプリの Context を取得する事によって、他アプリのリソースを利用する事ができる。

例)
#mycode2(){{
package example.utils;

import android.content.Context;

public class ContextUtil {

    public static Context getOtherContext(Context context, String package, int flags){
        return context.createPackageContext(package, flags);
    }
}
}}
※ packageには対象のアプリケーションの パッケージ名を指定する。
&br;

flags に指定する値は以下の通り。

|flagsに指定できる値|説明|h
|Context.CONTEXT_INCLUDE_CODE|コンテキストとともにアプリケーションコードをインクルードする。&br;これは、getClassLoader() を使用してアプリケーションのクラスをインスタンス化できるように、コードを呼び出し側のプロセスにロードすることを意味します。|
|Context.CONTEXT_IGNORE_SECURITY|特定の機能を無効にする。たとえば、制限されたコンテキストに関連付けられたビューは、特定のXML属性を無視します|
|Context.CONTEXT_RESTRICTED|要求されているコンテキストのセキュリティ制限を無視し、常にロードできるようにします。|

&br;

** 参考 [#p38fe2d0]
- https://developer.android.com/reference/android/content/Context.html

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS