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

ارور هنگام کامپایل


امیرحسین قاسمی

سوال

سلام،

دوستان عزیزم لطفا اگه کسی میدونه کمک کنه، ممنونم:53:

من از کدهای جاوای زیر در خود b4a استفاده کردم:

#If java
import android.content.Intent;
import android.os.storage.StorageManager;
import android.net.Uri;
import android.content.Context;
import android.util.Log;

public void geta() {
		if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q)
		{
			StorageManager sm = (StorageManager) this.getSystemService(Context.STORAGE_SERVICE);

			Intent intent = sm.getPrimaryStorageVolume().createOpenDocumentTreeIntent();
			String startDir = "Android/data";

			Uri uri = intent.getParcelableExtra("android.provider.extra.INITIAL_URI");

			String scheme = uri.toString();

			Log.d("TAG", "INITIAL_URI scheme: " + scheme);

			scheme = scheme.replace("/root/", "/document/");

			startDir = startDir.replace("/", "%2F");

			scheme += "%3A" + startDir;

			uri = Uri.parse(scheme);

			intent.putExtra("android.provider.extra.INITIAL_URI", uri);

			Log.d("TAG", "uri: " + uri.toString());
			
			((Activity) this).startActivityForResult(intent, REQUEST_ACTION_OPEN_DOCUMENT_TREE);
			//return;
		}
		}
#End If

حالا کامپایلر b4a هنگام کامپایل این ارور رو میده:

Linking resources    (0.32s)
Compiling generated Java code.    Error
src\com\storagetest\main.java:547: error: cannot find symbol
			((Activity) this).startActivityForResult(intent, REQUEST_ACTION_OPEN_DOCUMENT_TREE);
			                                                 ^
  symbol:   variable REQUEST_ACTION_OPEN_DOCUMENT_TREE
  location: class main
Note: src\com\storagetest\main.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error

javac 11.0.1

توی خود اندروید استودیو هم به REQUEST_ACTION_OPEN_DOCUMENT_TREE گیر میده و نمیشناسه توی کل نت هم گشتم همینجوری توی جاوا استفاده می کنن.

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

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

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

سلام و درود. خب شما وقتی از یه متد استفاده میکنید باید به ورودیها هم دقت کنید. REQUEST_ACTION_OPEN_DOCUMENT_TREE یه ثابت اینتیجره. یا تعریفش کنید یا به جاش یه عدد مثلا 2 بزارید

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

در ۱۴۰۰/۵/۱۷ در ۲۱:۵۰، محمدرضا شاهپیری گفته است:

سلام و درود. خب شما وقتی از یه متد استفاده میکنید باید به ورودیها هم دقت کنید. REQUEST_ACTION_OPEN_DOCUMENT_TREE یه ثابت اینتیجره. یا تعریفش کنید یا به جاش یه عدد مثلا 2 بزارید

سلام مجدد،

خیلی ممنونم از اینکه پاسخ دادید.

بله میدونم دومین ورودی StartActivityforResult باید int باشه. خودم اعدادی مثل 100 و 1 و... دادم کد کار میکنه اما درنهایت اون نتیجه رو نمیگیرم و حتما باید پارامتر دوم REQUEST_ACTION_OPEN_DOCUMENT_TREE باشه.

خب آقای شاهپیری ببخشید من چطوری REQUEST_ACTION_OPEN_DOCUMENT_TREE رو تعریف کنم؟

int i=REQUEST_ACTION_OPEN_DOCUMENT_TREE;

مثل کدبالا REQUEST_ACTION_OPEN_DOCUMENT_TREE رو توی یک متغیر اینتیجر ریختم اما بازم ارور میده.

من فکر می کنم REQUEST_ACTION_OPEN_DOCUMENT_TREE حتما باید یک عدد رو برگردونه اما نمیدونم چطوری!

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

بایگانی شده

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

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

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