2

アプリから別のアプリ内に描画可能なものをすべて一覧表示する方法が見つかりませんでした。

名前を知っていれば何とかドローアブルを入手できましたが、1からNまでの単純なループでそれを行う方法を見つけることができませんでした。

これを行うためのコードテンプレートを提供できる人はいますか?

次のコードはすでに機能しています。

mAndromedaAddonContext = createPackageContext( "com.demo.andromeda",
                Context.CONTEXT_IGNORE_SECURITY );
mPlanetsResID[0] = mAndromedaAddonResources.getIdentifier( "planet20111007081421628", "drawable", "com.demo.andromeda" );

しかし、リソース名を使用せずに反復したいと思います。それらの線に沿った何か:for(int i = 0; i

マニフェストファイルに同じsharedUserIdとプロセスがあるので、他のアプリからリソースにアクセスする権限があります。

前もって感謝します。

4

1 に答える 1

2

最初に使用mAndromedaAddonResources.getAssets()して、ターゲットとするアプリのAssetMangerのインスタンスを取得します。

ここを参照してください: https ://developer.android.com/reference/android/content/res/Resources.html#getAssets ()

次に、を使用できます

public final String[] list (String path)

特定のパスにあるすべてのアセットのリストを取得するAssetManagerクラスのメソッド(この場合、ターゲットとするアプリのres / drawableフォルダーのパスになります)。これにより、各文字列がアセット名である文字列のリストが表示されます。次に、識別子を取得するために使用しているのと同じコードを使用するだけです。

AssetManagerの詳細については、https://developer.android.com/reference/android/content/res/AssetManager.htmlを ご覧ください。

于 2012-10-11T04:10:31.983 に答える