• 13-04-2023, 21:04:48
    #1
    merhabalar wpde açmasını istiyorum anca bu şekilde yapıyor ve wpyi açmıyor. ben wpyi uygulamanın dışında direkt wp olarak açmasını istiyorum






    package com.jamillabltd.bottomnavigationwebview.BottomFragments;
    
    import android.annotation.SuppressLint;
    import android.graphics.Bitmap;
    import android.os.Bundle;
    
    import androidx.annotation.NonNull;
    import androidx.annotation.Nullable;
    import androidx.fragment.app.Fragment;
    
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.FrameLayout;
    import android.widget.ProgressBar;
    
    import com.jamillabltd.bottomnavigationwebview.R;
    
    public class MessageFragment extends Fragment {
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&type=phone_number&app_absent=0";
    private ProgressBar progressBar;
    private FrameLayout webView_container;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_message, container, false);
    }
    
    @SuppressLint("SetJavaScriptEnabled")
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    
    //initialize webView - JavaScript Enable - load url
    WebView mWebView = view.findViewById(R.id.webViewId);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl(webUrlMessage);
    
    progressBar = view.findViewById(R.id.progress_bar);
    // Find the FrameLayout and set it to mLayout
    webView_container = view.findViewById(R.id.webView_container_id);
    
    mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
    // Show the progress bar when the page starts loading
    progressBar.setVisibility(View.VISIBLE);
    webView_container.setAlpha(0.5f);
    }
    @Override
    public void onPageFinished(WebView view, String url) {
    // Hide the progress bar when the page finishes loading
    progressBar.setVisibility(View.GONE);
    webView_container.setAlpha(1.0f);
    }
    });
    
    }
    }
  • 13-04-2023, 21:34:39
    #2
    22. satırı
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&type=phone_number&app_absent=0";
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&app_absent=0";
    olarak güncelleyip deneyebilir misiniz?
    Edit: WhatsApp API'si doğru şekilde çalışmıyor da olabilir.
  • 13-04-2023, 22:04:00
    #3
    lastasmile adlı üyeden alıntı: mesajı görüntüle
    22. satırı
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&type=phone_number&app_absent=0";
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&app_absent=0";
    olarak güncelleyip deneyebilir misiniz?
    Edit: WhatsApp API'si doğru şekilde çalışmıyor da olabilir.

    aynı hocam
  • 13-04-2023, 22:27:38
    #4
    Kodlara bakmadım ama hataya bakarsak siz uygulama içinde bir yer açtırmaya çalışan bir kod kullanıyorsunuz. Yani internal link olarak açtırmaya çalışıyorsunuz ancak external link olarak açtırmanız lazım.
  • 14-04-2023, 15:55:33
    #5
    VBuMaSTeR adlı üyeden alıntı: mesajı görüntüle
    Kodlara bakmadım ama hataya bakarsak siz uygulama içinde bir yer açtırmaya çalışan bir kod kullanıyorsunuz. Yani internal link olarak açtırmaya çalışıyorsunuz ancak external link olarak açtırmanız lazım.

    hocam müsaitsen anydeskten bakabilirmisin ben çözemedim
  • 14-04-2023, 17:22:48
    #6
    ardayuce adlı üyeden alıntı: mesajı görüntüle
    hocam müsaitsen anydeskten bakabilirmisin ben çözemedim
    Hocam kusura bakma Android geliştirici değilim. Sadece error u yorumladım.
    Yol göstermesi açısından şu videonun 50. Sn indeki yapıyı deneyebilirsin. İşe yarayacaktır.


    https://youtu.be/x73JqCZHqOo


    Şuda kullanman gereken intent in dökümanı

    https://developer.android.com/refere...content/Intent
  • 16-04-2023, 15:42:43
    #7
    desteğe ihtiyacım var
  • 18-04-2023, 13:11:13
    #8
    ardayuce adlı üyeden alıntı: mesajı görüntüle
    merhabalar wpde açmasını istiyorum anca bu şekilde yapıyor ve wpyi açmıyor. ben wpyi uygulamanın dışında direkt wp olarak açmasını istiyorum







    package com.jamillabltd.bottomnavigationwebview.BottomFragments;
    
    import android.annotation.SuppressLint;
    import android.graphics.Bitmap;
    import android.os.Bundle;
    
    import androidx.annotation.NonNull;
    import androidx.annotation.Nullable;
    import androidx.fragment.app.Fragment;
    
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.FrameLayout;
    import android.widget.ProgressBar;
    
    import com.jamillabltd.bottomnavigationwebview.R;
    
    public class MessageFragment extends Fragment {
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&type=phone_number&app_absent=0";
    private ProgressBar progressBar;
    private FrameLayout webView_container;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_message, container, false);
    }
    
    @SuppressLint("SetJavaScriptEnabled")
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    
    //initialize webView - JavaScript Enable - load url
    WebView mWebView = view.findViewById(R.id.webViewId);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl(webUrlMessage);
    
    progressBar = view.findViewById(R.id.progress_bar);
    // Find the FrameLayout and set it to mLayout
    webView_container = view.findViewById(R.id.webView_container_id);
    
    mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
    // Show the progress bar when the page starts loading
    progressBar.setVisibility(View.VISIBLE);
    webView_container.setAlpha(0.5f);
    }
    @Override
    public void onPageFinished(WebView view, String url) {
    // Hide the progress bar when the page finishes loading
    progressBar.setVisibility(View.GONE);
    webView_container.setAlpha(1.0f);
    }
    });
    
    }
    }

    Kodlarını inceledigimde sayfa yüklenir fakat whatsapp web bunu Özel URL Şeması olarak algılar ve hata verir

    WhatsApp ile entegre olmanın iki yolu vardır:
    Özel bir URL şeması aracılığıyla
    Android'in intent sistemi aracılığıyla.

    Denedigim SDK
    minSdkVersion 19
    targetSdkVersion 30

    implementation

    implementation 'androidx.appcompat:appcompat:1.2.0'
    //noinspection GradleCompatible
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'


    biz burda intent işleyecez öncelikle

    Kodlarını bu şekilde daha kısa ve öz güncelledim

    public class MessageFragment extends Fragment {
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&type=phone_number&app_absent=0";
    private ProgressBar progressBar;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_message, container, false);
    }
    
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    
    Intent i = new Intent(Intent.ACTION_VIEW);
     i.setData(Uri.parse(webUrlMessage));
     startActivity(i);
    
    progressBar = view.findViewById(R.id.progress_bar);
    
    
    }
    }
    olarak degiştir progressBar kullanman gerekmez yinede sen bilirsin direk wp acilacagi icin bence gereksiz

    intent tanımladık webView kullanmana gerek yok fragment_message butonu tıklandıgı zaman otomatik olarak belirledigin numaradaki whatsapp penceresi açılır uygulaman arka planda çalışmaya devam eder yanlız böyle birşey peki kişinin telefonunda whatsapp kurulu degilse ? onun içinde uygulama içinde paket taraması yapman gerek egerki wp kurulu degilse lütfen whatsapp yükleyin gibisinden mesaj vermesi gerekli onuda sen android studio resmi sitesinden kaynakları inceleyerek yap sordugun soruya istinaden kodlarını güncelledim denedim aktif çalışıyor
  • 18-04-2023, 14:42:05
    #9
    OmerAti adlı üyeden alıntı: mesajı görüntüle
    Kodlarını inceledigimde sayfa yüklenir fakat whatsapp web bunu Özel URL Şeması olarak algılar ve hata verir

    WhatsApp ile entegre olmanın iki yolu vardır:
    Özel bir URL şeması aracılığıyla
    Android'in intent sistemi aracılığıyla.

    Denedigim SDK
    minSdkVersion 19
    targetSdkVersion 30

    implementation

    implementation 'androidx.appcompat:appcompat:1.2.0'
    //noinspection GradleCompatible
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'


    biz burda intent işleyecez öncelikle

    Kodlarını bu şekilde daha kısa ve öz güncelledim

    public class MessageFragment extends Fragment {
    String webUrlMessage = "https://api.whatsapp.com/send/?phone=90xxxxxxxxxx&text&type=phone_number&app_absent=0";
    private ProgressBar progressBar;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_message, container, false);
    }
    
    @Override
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    
    Intent i = new Intent(Intent.ACTION_VIEW);
     i.setData(Uri.parse(webUrlMessage));
     startActivity(i);
    
    progressBar = view.findViewById(R.id.progress_bar);
    
    
    }
    }
    olarak degiştir progressBar kullanman gerekmez yinede sen bilirsin direk wp acilacagi icin bence gereksiz

    intent tanımladık webView kullanmana gerek yok fragment_message butonu tıklandıgı zaman otomatik olarak belirledigin numaradaki whatsapp penceresi açılır uygulaman arka planda çalışmaya devam eder yanlız böyle birşey peki kişinin telefonunda whatsapp kurulu degilse ? onun içinde uygulama içinde paket taraması yapman gerek egerki wp kurulu degilse lütfen whatsapp yükleyin gibisinden mesaj vermesi gerekli onuda sen android studio resmi sitesinden kaynakları inceleyerek yap sordugun soruya istinaden kodlarını güncelledim denedim aktif çalışıyor

    eline, emeğine yüreğine sağlık hocam oldu teşekkür ederim