2017-05-04 21 views
-1
  1. 알림 그리드보기에 설치된 앱을 빌드하고 있습니다. 일부 선호하는 애플 리케이션을 을 선택하고 그 후에 다른 그리드 뷰에 추가하는 경우 get intent 값 (getLaunchIntentForPackage)을 가져 오는 새 gridview 앱에서 앱을 선택합니다.getLaunchIntentForPackage가 앱의 경우 null

    quick_links_alert.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int whichButton) { 
          List<String> mArrayProducts = clad.getCheckedItems(); 
          final QuickLinksGridViewAdaptor selected_apps = new QuickLinksGridViewAdaptor(HomeActivity.this, mArrayProducts); 
          gv_shortcut.setAdapter(selected_apps); 
          Toast.makeText(getApplicationContext(),"Selected Items-->:"+mArrayProducts,Toast.LENGTH_LONG).show(); 
          PackageManager pm = HomeActivity.this.getPackageManager(); 
          Intent quick_intent = new Intent(Intent.ACTION_MAIN, null); 
          final List<ResolveInfo> list = pm.queryIntentActivities(quick_intent, PackageManager.PERMISSION_GRANTED); 
          gv_shortcut.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
           @Override 
           public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
            final String packageName = list.get(position).activityInfo.packageName; 
            Intent PackageManagerIntent = getPackageManager().getLaunchIntentForPackage(packageName); 
            if (PackageManagerIntent != null) { 
             startActivity(PackageManagerIntent); 
            } 
            else { 
             Toast.makeText(getApplicationContext(),"NULL",Toast.LENGTH_LONG).show(); 
            } 
           } 
          }); 
         } 
    In my grid view 8 applications are available.If I click any application its PackageManagerIntent is getting null and 1 and 3 position application its always open google search engine and player application is opening. 
    
+0

을 내가 선택한 앱 이름은 응용 프로그램이 개방되지 않은 선택 이해할 수 수없는 게 완벽을 받고 무엇입니까 –

답변

0

나는 문제를 해결 한 :

String s = mArrayProducts.get(position).getPackageName(); 
Intent PackageManagerIntent = getPackageManager().getLaunchIntentForPackage(s); NULL 
startActivity(PackageManagerIntent);