رفتن به مطلب
  • 0

چگونه لیستی از برنامه های که خود گوشی به طور پیش فرض داره و برنامه های که کاربر نصب کرده ایجاد کنیم


a.samaree

سوال

با سلام خدمت دوستان عزیز

من دنبال کدی می گردم که تمام برنامه های پیش فرض گوشی (دوربین ، دفترچه یاداشت،...) و برنامه های نصب شده توسط کاربر رو در یک لیست ویو نمایش بده .

تنها موردی که پیدا کردم کدی بود که فقط برنامه هایی که کاربر نصب کرده بود رو نشون می داد.

خیلی دنبال این کد گشتم اما هیچ کدی پیدا نکردم. اگر تاپیکی در این موضوع است لطفا لینک را در پست خود قرار دهید.

لطفا راهنمایی کیند.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

7 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

آقای نیکروان من قبلا این کد رو دیده بودم 

اما در این کد یک سری از برنامه های غیر لازم مثل (custom locale و ...) رو هم میاره که لازم نیست 

به عنوان مثال کسی که می خواهد یک لانچر بسازد این برنامه های اظافی نباید در لیست برنامه ها باشند

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام ، این کد ها رو به برنامتون اضافه کنید و کتابخانه javaObject رو تیک بزنید :

Sub GetContext As JavaObject
	Dim jo1 As JavaObject
   Return jo1.GetField("context")
End Sub
Sub isSystemApp(packageName As String) As Boolean
	Dim jo As JavaObject
	Return jo.RunMethod("isSystemApp",Array As Object(GetContext,packageName))   
End Sub
#If java
	import android.content.Context;
	import android.content.pm.ApplicationInfo;
	import android.content.pm.PackageManager;
    public boolean isSystemApp(Context ctx,String PackageName){
        try {
            ApplicationInfo app = ctx.getPackageManager().getApplicationInfo(PackageName, 0);
             return ((app.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            return false;
        }
    }
#End If

حالا میتونین از طریق کد زیر بفهمین که برنامه مورد نظر سیستمی هست یا نه 


 	If isSystemApp("PACKAGENAME") Then
		......
	    End If
لینک ارسال
به اشتراک گذاری در سایت های دیگر

آقای شاهدی میشه درباره کد اول توضیح بدین

استاد شاهدی از In Line Java استفاده کردند و کدهای جاوا رو به بیسیک دادند

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

سلام ، این کد ها رو به برنامتون اضافه کنید و کتابخانه javaObject رو تیک بزنید :

Sub GetContext As JavaObject
	Dim jo1 As JavaObject
   Return jo1.GetField("context")
End Sub
Sub isSystemApp(packageName As String) As Boolean
	Dim jo As JavaObject
	Return jo.RunMethod("isSystemApp",Array As Object(GetContext,packageName))   
End Sub
#If java
	import android.content.Context;
	import android.content.pm.ApplicationInfo;
	import android.content.pm.PackageManager;
    public boolean isSystemApp(Context ctx,String PackageName){
        try {
            ApplicationInfo app = ctx.getPackageManager().getApplicationInfo(PackageName, 0);
             return ((app.flags & ApplicationInfo.FLAG_SYSTEM) != 0);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            return false;
        }
    }
#End If

حالا میتونین از طریق کد زیر بفهمین که برنامه مورد نظر سیستمی هست یا نه 


 	If isSystemApp("PACKAGENAME") Then
		......
	    End If

ببخشید یعنی توی تکه اخر اگ بیایم حلقه اضافه کنیم میشه ریختشون تو لیست ؟

تشکر 

و اینکه میشه پکیج نیم هایی ک از قبل تعین کردم رو توش جست و جو کنم ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله میشه ، این یه ساب که پکیچ میگیره و میگه برنامه سیستمی هست یا نه ، دیگه اینکه پکیج و چجوری گرفتین و اینا فرقی نداره ، میتونین توی حلقه هم بزارینش

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...