یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهادکمه انتخاب فایل کار نمیکنه
این یک برنامه وب ویو هست که جاوااسکریپتش کار میکنه دیالوگ های جاوا اسکریپت(alert و confirm و prompt) هم کار میکنه اما دکمه انتخاب فایل که توی تصویر موجود هست کار نمیکنه میشه راهنمایی کنی چطور وقتی روی دکمه کلیک شد دکمه کار بکنه
سلام و وقتتون به خیر
با یه مرورگر دیگه امتحان کنین اگه نشد هم کدتونو به اشتراک بذارین لطفاً
در همین حد بسنده می کنم
التماس دعا
و من الله توفیق
من میخام که توی برنامه وب ویو که دارم این باگ رو برطرف کنم
اینم کد برنامه
package com.mycompany.myapp6;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.app.*;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.os.*;
import android.widget.*;
import android.content.*;
import android.net.wifi.*;
import android.view.View.*;
import android.view.*;
import android.widget.TextView;
import android.widget.Button;
import android.widget.EditText;
import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import android.app.AlertDialog;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.net.Uri;
import android.os.Environment;
import android.provider.MediaStore;
import android.webkit.JsResult;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.view.KeyEvent;
import android.webkit.WebResourceRequest;
import android.app.ActionBar;
import android.*;
import android.view.Window;
import java.util.*;
import java.text.*;
import android.net.*;
import android.webkit.*;public class MainActivity extends Activity
{
public class Globals extends Application {
public String myText = "text";
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getActionBar().hide();
findViewById(R.id.mainButton1).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Vibrator vib = (Vibrator) getSystemService(MainActivity.VIBRATOR_SERVICE);
long milliseconds = 100;
vib.vibrate(milliseconds);
WebView webView = (WebView)findViewById(R.id.mainWebView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient(){
public void onProgressChanged(WebView view,int progress){
String loading = "Loading "+progress+"%";
Toast.makeText(MainActivity.this,loading, Toast.LENGTH_SHORT).show();
};
@Override
public boolean onJsAlert(WebView view, String url, String message, final JsResult result) {
String newTitle = "دیالوگ جاوااسکریپت از نوع alert(هشدار)(اخطار) در "+view.getUrl();
AlertDialog.Builder alb = new AlertDialog.Builder(MainActivity.this);
alb.setTitle(newTitle).setMessage(message).setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
alb.setCancelable(false);
alb.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
alb.setNeutralButton("خروج", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
alb.create();
alb.show();
return true;
// return super.onJsAlert(view, url, message, result);
}
@Override
public boolean onJsConfirm(WebView view, String url,String message, final JsResult result) {
String newTitle = "دیالوگ جاوااسکریپت از نوع confirm(تایید) در "+view.getUrl();
Globals mas = new Globals();
mas.myText = message;
AlertDialog.Builder alrbui = new AlertDialog.Builder(MainActivity.this);
alrbui.setTitle(newTitle);
alrbui.setMessage(message);
alrbui.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
result.confirm();
}
});
alrbui.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.cancel();
}
});
alrbui.setNeutralButton("خروج",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface,int i){
finish();
}
});
alrbui.setCancelable(false);
alrbui.create();
alrbui.show();
return true;
// return super.onJsConfirm(view, url, message, result);
}
});
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
EditText x = findViewById(R.id.mainEditText1);
webView.loadData(x.getText().toString(),"","utf8");
}
});
};
}
فایل xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal">
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Button"
android:id="@+id/mainButton1"/>
<EditText
android:layout_height="match_parent"
android:inputType="textMultiLine"
android:layout_width="match_parent"
android:ems="10"
android:id="@+id/mainEditText1"/>
</LinearLayout>
<WebView
android:id="@+id/mainWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
کد شناسنامه برنامه :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mycompany.myapp6" >
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:resizeableActivity = "true">
<activity
android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
اینو با AIDE ساختم منتشرش نکردم چون برای تست هست که بعدا روی برنامه های وب ویو دیگه پیاده سازی کنم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟