Создайте приложение для Android, которое действует как ярлык для нашего мобильного сайта

У нас есть специальная мобильная версия нашего сайта, которую мы хотели бы продвигать на рынке Android. "Приложение" эффективно станет ярлыком для веб-сайта, но вы сможете загрузить его и иметь значок для него, как и любое другое приложение.

Возможно ли это? Если да, можете ли вы связать меня с инструкциями? Я не смог найти информацию о поиске в Google.

Спасибо, Ионы

Ответ 1

Это возможно и довольно легко.

Ваше приложение будет представлять собой одно действие. Эта деятельность создаст новое намерение, основанное на информации здесь, на намерениях Google. Цель будет иметь вид VIEW_ACTION, и вы дадите ей url как значение. Тогда вы просто выполните:

onCreate(Bundle bundle){
 Intent myIntent = new Intent(Intent.VIEW_ACTION, Uri.parse("http://www.google.com"));
 startActivity(myIntent); 
}

Остальная часть упражнения просто обертывается с AndroidManifest.xml и помещает его в рынок.

Альтернативой было бы обеспечить веб-просмотр, но это довольно бессмысленно, если ваш веб-сайт уже предназначен для работы в мобильном браузере.

Ответ 2

  Uri uri = Uri.parse("http://www.example.com");
 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
 startActivity(intent);

Добавить в файл androidManifest.xml.. ниже строки

<uses-permission android:name="android.permission.INTERNET" />

Ответ 3

Просто создайте одно действие, в котором размещен один WebView, и предварительно загрузите его своим URL-адресом. Google это... это безумно легко

Ответ 4

У меня есть аналогичное приложение. У этого есть веб-просмотр, и он показывает прогресс, пока ваш сайт загружается.

Существует два класса WebViewProgress.java Resources - это легко понять. Этот код работает хорошо.

package com.promo.drr;

import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;

public class WebViewProgress extends WebViewClient {
    private ProgressBar progressBar;

    public WebViewProgress(ProgressBar progressBar) {
        this.progressBar=progressBar;
        progressBar.setVisibility(View.VISIBLE);
    }
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        progressBar.setVisibility(View.GONE);
    }
}

App.java

package CCCC;

import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.webkit.WebView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;

public class App extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_promo);

        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);

        int height = metrics.heightPixels;
        int width = metrics.widthPixels;
        int progressSz = Math.min(height,width) / 4;
        int marginX = (width-progressSz)/2;
        int marginY = (height-progressSz)/2;

        ProgressBar progress = (ProgressBar)findViewById(R.id.progressBar);
        RelativeLayout.LayoutParams margineParam =  (RelativeLayout.LayoutParams) progress.getLayoutParams();
        margineParam.setMargins(marginX, marginY,marginX,marginY);
        progress.setLayoutParams(margineParam);

        WebView wv = (WebView) findViewById( R.id.webview);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.setWebViewClient(new WebViewProgress( progress) );
        wv.loadUrl("https://your site url");

    }
}

image

Ответ 5

ПРИМЕЧАНИЕ. Этот проект содержит ошибки компиляции Java, что может привести к сбоям при обработке пользовательских представлений. Сначала устраните проблемы с компиляцией.

"<Intent>" does not set the required layout_width attribute:
 (1) Set to "wrap_content"
 (2) Set to "match_parent"
"<Intent>" does not set the required layout_height attribute:
 (1) Set to "wrap_content"
 (2) Set to "match_parent"
You must supply a layout_width attribute.
You must supply a layout_height attribute.

Не удалось найти следующие классы:

- Intent (Fix Build Path, Edit XML)