2017-01-19 1 views
-1

앱을 기기에 설치하고 성공 후. 그 앱 패키지 이름을 가져야하고 패키지 이름에서 "앱 이름"을 식별해야합니다. 어떻게 할 수android에서 애플리케이션 이름을 얻는 방법은 무엇입니까?

코드 : - : 구글 문서의에 따르면

<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() 

다른 응용 프로그램 특정 정보를 얻으려면 아래 코드를 사용하십시오. GET 응용 프로그램 이름, GET 패키지 이름 및 응용 프로그램 이름을 얻기 위해 그것을 나눌 것보다

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]; 

듣고 코드입니다.

0

패키지 이름이있는 경우 앱 이름 또는 애플리케이션 라벨을 가져올 수 있습니다. 방법은 다음과 같습니다

PackageManager packageManager= getApplicationContext().getPackageManager(); 
String appName = (String) packageManager.getApplicationLabel(packageManager.getApplicationInfo("YourPackageName", PackageManager.GET_META_DATA)); 
관련 문제