2017-01-19 8 views
-1

アプリがデバイスにインストールされ、成功した後。私はそのアプリパッケージ名を取得しなければならないし、パッケージ名から "アプリ名"を特定しなければならない。どのように私は行うことができますアンドロイドでアプリケーション名を取得する方法は?

コード: - :Googleドキュメントのによると

<receiver android:name=".apps.AppListener"> 
    <intent-filter android:priority="100"> 
     <action android:name="android.intent.action.PACKAGE_INSTALL"/> 
     <data android:scheme="package"/> 
    </intent-filter> 
</receiver> 

マニフェストで
private String TAG = CAppReceiver.class.getSimpleName(); 
@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 
    if (action.equals("android.intent.action.PACKAGE_ADDED")){ 
     Log.d(TAG,"App package::" + intent.getData().toString()); 
    } 
} 
+0

あなたはPackageManager経由で試しましたか? – EpicPandaForce

+0

[アプリのインストール時にブロードキャストを受信する](http://stackoverflow.com/questions/11246326/how-to-receiving-broadcast-when-application-install-or-removed)[パッケージ名からアプリケーション名を取得]を参照してくださいhttp://stackoverflow.com/questions/5841161/get-application-name-from-package-name) – Omer

+0

http://stackoverflow.com/questions/7090883/how-can-i-get-package-name-in -android – saiRam89

答えて

0

は、(アプリケーションタグ内)の関連意図サービスと受信機を追加

PACKAGE_INSTALLブロードキャストの処理:新しい アプリケーションパッケージがデバイスにインストールされました。データ にはパッケージ名が含まれています。新しくインストールされた パッケージはこのブロードキャストを受信しないことに注意してください。

次に、onReceiveコードメソッドを使用します。

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.util.Log; 

public class AppListener extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent arg1) { 
    // TODO Auto-generated method stub 
    Log.v(TAG, "there is a broadcast"); 
    } 
} 
0

アプリケーションパッケージ名を取得するには、以下のメソッドを使用します。

intent.getData().getSchemeSpecificPart() 

他のアプリケーション固有の情報を得るには、以下のコードを使用してください。

try { 
    ApplicationInfo app = this.getPackageManager().getApplicationInfo("com.example.name", 0);   

    Drawable icon = packageManager.getApplicationIcon(app); 
    String name = packageManager.getApplicationLabel(app); 
    return icon; 
} catch (NameNotFoundException e) { 
    Toast toast = Toast.makeText(this, "error in getting icon", Toast.LENGTH_SHORT); 
    toast.show(); 
    e.printStackTrace(); 
} 
1
String pakageName =getPackageName(); 
String[] separated = pakageName.split("."); 
separated[0]; 
separated[1]; 

GETアプリケーション名のため聞くコード、最初のgetパッケージ名とアプリケーション名を取得するには、それを分割するよりも。

0

パッケージ名をお持ちの場合は、アプリ名またはアプリケーションラベルを取得できます。ここにあります

PackageManager packageManager= getApplicationContext().getPackageManager(); 
String appName = (String) packageManager.getApplicationLabel(packageManager.getApplicationInfo("YourPackageName", PackageManager.GET_META_DATA)); 
関連する問題