تغییر برنامه به برنامه پیش فرض جهت باز کردن فایل !؟ (default app)
سلام به همه، دوستان این یکی سوال که روی هوا مونده :-)
https://barnamenevis.org/showthread.p...88%D8%B4%D9%87
اما سوال فعلی اینه که چطوری برنامه ام رو به برنامه پیش فرض جهت باز کردن فایل کنم !؟ یعنی اگه فایلی با پسوند مورد نظر، مثلا mp3 توی هر پوشه ای ... جایی بود بعد از ضربه زدن کاربر روی فایل برنامه اجرا بشه و قایل پخش بشه ! یا مثلا پی دی اف باز بشه
من یه چیزایی سرچ زدم ولی هیچ اتفاقی نمیوفته ! در واقع الان نیاز دارم با ضربه زدن روی فایل --> برنامه باز بشه --> uri فایل هم بگیرم که بتونم فایل رو پخش کنم !!! اما نمیشه :لبخند:
<activity android:name=".FileLauncherActivity"> <intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.OPENABLE" />
<data android:pathPattern=".*\\.pdf" />
<data android:pathPattern=".*\\..*\\.pdf" />
<data android:pathPattern=".*\\..*\\..*\\.pdf" />
<data android:pathPattern=".*\\..*\\..*\\..*\\.pdf" />
<data
android:host="*"
android:mimeType="*/*"
android:scheme="file" />
</intent-filter>
</activity>
و توی اکتیویتی
filePath = Objects.requireNonNull(getIntent().getData()).getE ncodedPath();
نقل قول: تغییر برنامه به برنامه پیش فرض جهت باز کردن فایل !؟ (default app)
دوستان یعنی اینقدر سوالم حرفه ایه !؟
:لبخند::لبخند::قهقهه:
نقل قول: تغییر برنامه به برنامه پیش فرض جهت باز کردن فایل !؟ (default app)
نقل قول:
نوشته شده توسط
ghasem110deh
دوستان یعنی اینقدر سوالم حرفه ایه !؟
:لبخند::لبخند::قهقهه:
اول یک اکتیویتی خالی بساز و دستورات تعریف توی مانیفست را با این کد عوض کن
<activity
android:name="com.path.to.your.FakeLauncherActivit y"
android:enabled="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
بعد از متد زیر استفاده کن!
public static void resetPreferredLauncherAndOpenChooser(Context context) {
PackageManager packageManager = context.getPackageManager();
ComponentName componentName = new ComponentName(context, com.path.to.your.FakeLauncherActivity.class);
packageManager.setComponentEnabledSetting(componen tName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
Intent selector = new Intent(Intent.ACTION_MAIN);
selector.addCategory(Intent.CATEGORY_HOME);
selector.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(selector);
packageManager.setComponentEnabledSetting(componen tName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP);
}
فکر کنم با یکم تغییر کارت راه بیوفته!