2016-04-02 24 views
3

Bu ana aktivitede benim kodları ..Uygulama adını paket adını değil ve nasıl açabilirim?

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button bClock = (Button) findViewById(R.id.buttonSearch); 

    bClock.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      String packageName = "com.android.gallery3d"; 
      Intent intent = getPackageManager().getLaunchIntentForPackage(packageName); 

      if(intent == null) { 
       Intent marketIntent = new Intent(Intent.ACTION_VIEW); 
       marketIntent.setData(Uri.parse("market://details?id=packagename")); 
       startActivity(marketIntent); 
      } 
      startActivity(intent); 
      } 
     }); 
    } 

Ve hepsi benim uygulamalar aramak için? .. Örneğin paket adı (com.android.gallery3d) kullanmamaya mümkün olup olmadığını sorum şu, "facebook" ı aramak istiyorum ve o zaman girdikten sonra girdim.

Çünkü bu paket adını kullanırsam yeni yüklenen uygulamayı açmayacağım .. şimdiden teşekkürler.

cevap

0

Sen

final PackageManager pm = context.getPackageManager(); 
ApplicationInfo ai; 
try { 
    ai = pm.getApplicationInfo(packageName, 0); 
} catch (final NameNotFoundException e) { 
    ai = null; 
} 
final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)"); 

PackageManager

kullanabilirsiniz Ve, bildirim bir <application> etiketinde tanımlanan bu da

CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName,PackageManager.GET_META_DATA)); 

Bu uygulamanın adını döndürecektir.

+0

Bu kodları nereye koyarım? – jvpintang

+0

Jvpintang, etkinlikteki herhangi bir yerde – Adnan

+0

1. kodunu koduma tıklayarak açtım ve 2. kodu nereye koyacağım? – jvpintang

İlgili konular