問題タブ [android-applicationinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
22032 参照

android - ユーザーが Android デバイスにインストールしたアプリのリストを取得するにはどうすればよいですか?

現在、次のコードを使用しています。

ただし、デバイスの製造元と私がインストールしたアプリが返されます。インストールしたアプリのみが返されるように制限する方法は?

0 投票する
2 に答える
16304 参照

android - パッケージ マネージャーからアプリケーション情報を取得する

PackageManager から ApplicationInfo オブジェクトを取得する方法はありますか? これを達成するためにさまざまな種類の方法を試しましたが、役に立ちませんでした。私は現在、デフォルトのAndroidランチャー画面(Application Drawer)に取り組んでおり、パッケージ名から具体的にパッケージ情報を取得したいと考えています。これはアプリケーション層ではなく、ソースである Launcher2 アプリケーションのビルド層にあります。私が使用しているアンドロイドのバージョンは 2.3.3 です。

これが私が試したことです:

エラー:

これは、実行中の現在のパッケージを取得するためではなく、電話機自体のすべてのアプリケーションを取得するためのものです。

見つけた:

AllApps2D.java で以下の関数に渡された ApplicationInfo と同じ ApplicationInfo オブジェクトを返しません。

名前だけでパッケージ自体から ApplicationInfo オブジェクトを取得しようとしています。

AllApps2D.java (Launcher2 フォルダー) のオープン ソース コードにあるように、問題の関数は以下のとおりです。

アップデート

基本的に私がやろうとしているのは、ランチャーのアイコンの配置をカスタムオーダーで並べ替えることです。これに必要な情報を PackageManager 経由で取得できれば理想的です。

私が実装したものが機能するためには、AllApps2D コードが使用しているのと同じ ApplicationInfo オブジェクトをプルできる必要があります

com.android.Launcher2.ApplicationInfo

これは、以下によって返されるものと同じではありません:

ApplicationInfo item = pack.getApplicationInfo(package_list.get(i), PackageManager.GET_ACTIVITIES);

つまり:

android.content.pm.ApplicationInfo

ランチャーで使用できるコードと、私が使用しているクラスはこちらにあります。

これらの手法はいずれも、android ビルド内の launcher2 アプリケーション内では機能ません。他の提案はありますか?

0 投票する
9 に答える
48976 参照

android - Android デバイスに特定のパッケージが存在するかどうかを確認するにはどうすればよいですか?

com.android.abc特定のパッケージまたはアプリケーション (例: ) が Android デバイスに存在するかどうかを確認するにはどうすればよいですか?

0 投票する
2 に答える
10208 参照

android - Androidにインストールされているアプリケーション名を取得するにはどうすればよいですか?

インストールされているアプリケーション名をAndroidで表示するための小さな方法を作成しました。しかし、「name」属性を指定すると、例外エラーが表示されます。そして、「packageName」を指定すると、メソッドは完全に実行され、パッケージ名がリストに表示されます

上記のコードでは、指定String appname=pk.packageName.toString()すると正常に動作しますが、指定するとString appname=pk.name.toString()プログラムが例外エラーをスローします。問題を解決するのを手伝ってください。

0 投票する
3 に答える
2105 参照

android - PackageManager を使用せずに Android マニフェストを読み取るにはどうすればよいですか?

で利用可能なものよりも多くの情報を必要とする Android アプリケーションに取り組んでいますPackageManager(インテント フィルターなど)。AndroidManifest.xmlAndroidManifest ファイルを読み取るためのパーサーを作成しましたが、インストールされているアプリケーションの場所が見つかりません。私が使用しているコードは次のとおりです。

ドキュメントによると、ApplicationInfo.publicSourceDirは次のとおりです。

このパッケージの一般に公開されている部分 (つまり、プライマリ リソース パッケージとマニフェスト) の場所へのフル パス。前方ロックされていないアプリの場合、これは {@link #sourceDir) と同じになります。

私は何を間違っていますか、またはどうすればこれを正しく行うことができますか?

0 投票する
1 に答える
7486 参照

android - アプリをシステムアプリにする方法は?

アプリをプログラムでシステムアプリにしたい。rootとbusyboxを使用して、電話でそれを行うことができました。ビジーボックスなしでこれを達成する方法はありますか?

これに加えて、私は別の問題にも直面しました。システムアプリ>ユーザーアプリからアプリを元に戻して再起動すると。アプリが既に /data/app にあるにもかかわらず、Android システムはアプリをシステム アプリとして認識します。

以下のコードを使用して、アプリがシステム アプリかどうかを確認します。

0 投票する
14 に答える
45121 参照

android - Android でアプリが非システム アプリかどうかを確認するにはどうすればよいですか?

packageManager.getInstalledApplications(0)ApplicationInfoを使用してオブジェクトのリストを取得し、それらがシステム アプリケーションであるかどうかによって分類しようとしています。

しばらくの間、ここで説明されている手法を使用してきましたが、アプリケーションで一部のアプリが非システム アプリ リストに含まれていないことがわかりました (利用可能な場合、システムに SD にインストールするように要求するFacebookなど)。カード)。次にApplicationInfo.FLAG_SYSTEMの実際のドキュメントを読み、実際にはシステム アプリをフィルタリングしないことを理解した後、新しいアプローチを探しています。

私の推測では、この区別を行うために収集できるシステム アプリと非システム アプリの UID の間には大きなギャップがあると思いますが、まだ答えは見つかっていません。などの他のフラグも調べましたがApplicationInfo.FLAG_EXTERNAL_STORAGE、API 1.5 をサポートしています。

誰かがこれに対する本当の解決策を持っていますか(関与していませんFLAG_SYSTEM)?

0 投票する
2 に答える
12915 参照

cordova - Phonegap for Android を使用してリモート API を呼び出すにはどうすればよいですか?

Phonegap を使用して Android アプリでリモート API 呼び出しを行うにはどうすればよいですか?

0 投票する
1 に答える
86 参照

android - ApplicationInfo.java から Gridview へ

ユーザーが最近使用したアプリケーションを GridView に表示したい。これまでのところ、これを含める必要があることはわかっています: http://developer.android.com/resources/samples/Home/src/com/example/android/home/ApplicationInfo.html

そして、main.xml に GridView のセットアップがあります。

しかし、そのスペースにアプリケーションをロードするにはどうすればよいでしょうか?

0 投票する
3 に答える
8643 参照

android - アクセス許可を使用して Android アプリケーションをブロックする方法

アプリケーションに「android.permission.CAMERA」があり、アプリがカメラ ハードウェアにアクセスしようとしたときにこのアクセス許可の使用をブロックしたい場合、「セキュリティ上の理由から」プロセスをブロックするにはどうすればよいですか?

*注: 私のアプリがすべての権限を持っていると仮定しましょう...