loading...
پرشین استک
fsfsdfs
PERSIAN STACK بازدید : 131 1396/05/17 نظرات (0)

ما برنامه های کاربردی را نصب کرده ایم .

1. اگر برنامه  در دستگاه نصب شده باشد ، برنامه به طور خودکار باز است .

2. در غیر این صورت برنامه خاصی را نصب کنیم .

 

پاسخ 1 :

این کد را امتحان کنید :

 

public class MainActivity extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);


// Add respective layout
setContentView(R.layout.main_activity);


// Use package name which we want to check
boolean isAppInstalled = appInstalledOrNot("com.check.application");

if(isAppInstalled){
//This intent will help you to launch if the package is already installed
IntentLaunchIntent = getPackageManager()
.getLaunchIntentForPackage("com.check.application");
startActivity(LaunchIntent);

Log.i("Application is already installed.");
}else{
// Do whatever we want to do if application not installed
// For example, Redirect to play store

Log.i("Application is not currently installed.");
}
}

private boolean appInstalledOrNot(String uri){
PackageManager pm = getPackageManager();
try{
pm.getPackageInfo(uri,PackageManager.GET_ACTIVITIES);
return true;
}catch(PackageManager.NameNotFoundException e){
}

return false;
}

}

 

پاسخ 2 :

 

public static boolean isAppInstalled(Context context,String packageName){
try{
context.getPackageManager().getApplicationInfo(packageName,0);
return true;
}
catch(PackageManager.NameNotFoundException e){
returnfalse;

}
}

 

من تصمیم گرفتم آنرا در یک کلاس کمکی به عنوان یک ابزار استاتیک وارد کنم .

نمونه کد :

 

boolean whatsappFound = AndroidUtils.isAppInstalled(context,"com.whatsapp");

 

این پاسخ نشان می دهد که چگونه برنامه را از فروشگاه گوگل پلی در صورتی که برنامه از دست رفته باشد ، دریافت می کند . همچنین مراقب دستگاه هایی که Play Store ندارند باشید .

 

پاسخ 3 :

کد زیر می تواند کاربردی باشد .

یک شی Intent با اطلاعات مناسب ایجاد کنید و بررسی کنید که آیا Intent قابل فراخوانی است یا از متد زیر استفاده نمی کند :

 

private boolean isCallable(Intent intent){ 
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
return list.size()>0;
}

 

پاسخ 4 :

اگر نام پکیج را می دانید ، این کار بدون استفاده از بلوک try-catch یا تکرار از طریق یک دسته از پکیج ها انجام می شود :

 

public static boolean isPackageInstalled(Context context,String packageName){
final PackageManager packageManager = context.getPackageManager();
Intent intent = packageManager.getLaunchIntentForPackage(packageName);
if(intent ==null){
returnfalse;
}
List<ResolveInfo> list = packageManager.queryIntentActivities(intent,PackageManager.MATCH_DEFAULT_ONLY);
return list.size()>0;
}

 

 

پاسخ 5 :

این کد برای اطمینان از اینکه برنامه نصب شده را بررسی می کند، همچنین بررسی می کند تا مطمئن شود که آن فعال شده است :

 

private boolean isAppInstalled(String packageName){
PackageManager pm = getPackageManager();
try{
pm.getPackageInfo(packageName,PackageManager.GET_ACTIVITIES);
return pm.getApplicationInfo(packageName,0).enabled;
}
catch(PackageManager.NameNotFoundException e){
e.printStackTrace();
return false;
}
}

 

 

پاسخ 6 : من فکر می کنم که استفاده از بلوک try-catch مناسب نیست . این کد می تواند کاربرد داشته باشد :

 

public static boolean appInstalledOrNot(Context context,String uri){
PackageManager pm = context.getPackageManager();
List<PackageInfo> packageInfoList = pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
if(packageInfoList !=null){
for(PackageInfo packageInfo : packageInfoList){
String packageName = packageInfo.packageName;
if(packageName !=null&& packageName.equals(uri)){
return true;
}
}
}
return false;
}

 

صفحه اصلی

مطالب مرتبط
ارسال نظر برای این مطلب

کد امنیتی رفرش
درباره ما
Profile Pic
با توجه به اینکه بیشتر منابع برنامه نویسی از جمله وبسایت ها ، خارجی بوده و همچنین برای بسیاری از افراد از نظر ترجمه مشکل ساز می شود ، وبسایت ما ترجمه این منابع و در اختیار کاربران قرار دادن را هدف قرار داده است .
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    فروش قالب وردپرس دانلود نرم افزار – پوسته ایران دانلود
    فروش قالب وردپرس دانلود نرم افزار ایران دانلود : اگر به دنبال پوسته وردپرس فارسی برای سایت دانلودی تان هستید بدون شک قالب وردپرس ایران دانلود با سئو بالا و رابط کاربری زیبا میتواند نظرتان را جلب کند. در طراحی و کدنویسی...
    قالب وردپرس فروش فایل و محصولات مجازی – پوسته ایران تمز

    آیا میدانید توسط وردپرس و افزونه EDD میتوانید فروشگاهی آنلاین برای فروش کتاب و مقالات pdf، رام اندروید، قالب و افزونه وردپرس، نرم افزارهای کامپیوتر و موبایل و … راه اندازی و کسب درامد کنید؟ با استفاده از افزونه وردپرس ایزی دیجیتال...

    خرید قالب وردپرس پارس بلاگ

    پوسته پارس بلاگ، قالبی زیبا با کدنویسی استاندارد و حرفه ای می باشد که توسط گروه ایران تمز طراحی شده است. با خرید قالب وردپرس پارس بلاگ که دارای امکانات زیادی است میتوانید سایت فروش فایل و محصولات دانلودی راه اندازی کنید....

    آمار سایت
  • کل مطالب : 142
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 11
  • آی پی امروز : 22
  • آی پی دیروز : 20
  • بازدید امروز : 36
  • باردید دیروز : 43
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 192
  • بازدید ماه : 578
  • بازدید سال : 4,477
  • بازدید کلی : 116,492