Google Android - это несложно
http://forum.startandroid.ru/

Урок 32. Пишем простой браузер
http://forum.startandroid.ru/viewtopic.php?f=3&t=126
Страница 8 из 8

Автор:  asfli [ 30 июн 2018, 21:20 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

Приветствую!
Подскажите, пожалуйста, не сталкивался ли кто с такой проблемой, при выборе нашего активити выскакивает ошибка net::ERR_CLEARTEXT_NOT_PERMITTED , при выборее хрома все нормально. uses permission есть.

Автор:  pilg [ 16 окт 2018, 22:13 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

asfli писал(а):
Приветствую!
Подскажите, пожалуйста, не сталкивался ли кто с такой проблемой, при выборе нашего активити выскакивает ошибка net::ERR_CLEARTEXT_NOT_PERMITTED , при выборее хрома все нормально. uses permission есть.


Помогло данной решение:
добавить в manifest в тег application следующее:
Код: [ Загрузить ] [ Скрыть ]
  1. android:usesCleartextTraffic="true" 


полный код файла manifest:
Код: [ Загрузить ] [ Скрыть ]
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     xmlns:tools="http://schemas.android.com/tools" 
  4.     package="com.example.p0321simplebrowser"> 
  5.  
  6.     <application 
  7.         android:allowBackup="true" 
  8.         android:icon="@mipmap/ic_launcher" 
  9.         android:label="@string/app_name" 
  10.         android:roundIcon="@mipmap/ic_launcher_round" 
  11.         android:supportsRtl="true" 
  12.         android:theme="@style/AppTheme" 
  13.         android:usesCleartextTraffic="true" 
  14.         > 
  15.         <activity android:name=".MainActivity"> 
  16.             <intent-filter> 
  17.                 <action android:name="android.intent.action.MAIN" /> 
  18.  
  19.                 <category android:name="android.intent.category.LAUNCHER" /> 
  20.             </intent-filter> 
  21.         </activity> 
  22.  
  23.         <activity android:label="MyBrowser" android:name="BrowserActivity"> 
  24.             <intent-filter tools:ignore="AppLinkUrlError"> 
  25.                 <action android:name="android.intent.action.VIEW"></action> 
  26.                 <data android:scheme="http"></data> 
  27.                 <category android:name="android.intent.category.DEFAULT"></category> 
  28.             </intent-filter> 
  29.  
  30.         </activity> 
  31.     </application> 
  32.     <uses-permission android:name="android.permission.INTERNET" /> 
  33. </manifest> 


Решение нашел здесь: https://stackoverflow.com/questions/527 ... e-is-https

Автор:  Kellerman [ 20 ноя 2018, 14:35 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

как раз разрабатываю браузер

Автор:  kefir [ 16 янв 2019, 17:39 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

Застопорился на этом уроке. Проблема с манифестом. Уроки прохожу на android studio 3.2.1. Не всё так же работает как в уроках, но раньше мне удавалось заставить работать как надо.
API 22: Android 5.1

Выделяет красным строки:
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="http"></data>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>

Пишет мол: Activity supporting ACTION_VIEW is not set as BROWSABLE less....(Ctrl+F1)
Ensure the URL is supported by your app, to get installs and traffic to your app from Google Search.
Issue id: AppLinkUrlError.
Подскажите как решить проблему пожалуйста.

MainActivity java
Код: [ Загрузить ] [ Скрыть ]
  1. package com.example.p0321simplebrowser; 
  2.  
  3. import android.app.Activity; 
  4. import android.content.Intent; 
  5. import android.net.Uri; 
  6. import android.support.v7.app.AppCompatActivity; 
  7. import android.os.Bundle; 
  8. import android.view.View; 
  9.  
  10. public class MainActivity extends Activity { 
  11.     /** Called when the activity is first created. */ 
  12.     @Override 
  13.     public void onCreate(Bundle savedInstanceState) { 
  14.         super.onCreate(savedInstanceState); 
  15.         setContentView(R.layout.activity_main); 
  16.  
  17.         (findViewById(R.id.btnWeb)).setOnClickListener(new View.OnClickListener() { 
  18.             @Override 
  19.             public void onClick(View v) { 
  20.                 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.ya.ru"))); 
  21.             } 
  22.         }); 
  23.     } 

activity_main xml
Код: [ Загрузить ] [ Скрыть ]
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout 
  3.     xmlns:android="http://schemas.android.com/apk/res/android" 
  4.     android:layout_width="fill_parent" 
  5.     android:layout_height="fill_parent" 
  6.     android:orientation="vertical"> 
  7.     <Button 
  8.         android:id="@+id/btnWeb" 
  9.         android:layout_width="wrap_content" 
  10.         android:layout_height="wrap_content" 
  11.         android:text="web"> 
  12.     </Button> 
  13. </LinearLayout> 

BrowserActivity
Код: [ Загрузить ] [ Скрыть ]
  1. package com.example.p0321simplebrowser; 
  2.  
  3. import android.app.Activity; 
  4.         import android.net.Uri; 
  5.         import android.support.v7.app.AppCompatActivity; 
  6.         import android.os.Bundle; 
  7.         import android.webkit.WebView; 
  8.         import android.webkit.WebViewClient; 
  9.  
  10. public class BrowserActivity extends Activity { 
  11.  
  12.     @Override 
  13.     protected void onCreate(Bundle savedInstanceState) { 
  14.         super.onCreate(savedInstanceState); 
  15.         setContentView(R.layout.browser); 
  16.  
  17.         WebView webView = (WebView) findViewById(R.id.webView); 
  18.         webView.setWebViewClient(new WebViewClient()); 
  19.         Uri data = getIntent().getData(); 
  20.         webView.loadUrl(data.toString()); 
  21.     } 

browser.xml
Код: [ Загрузить ] [ Скрыть ]
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout 
  3.     xmlns:android="http://schemas.android.com/apk/res/android" 
  4.     android:layout_width="match_parent" 
  5.     android:layout_height="match_parent" 
  6.     android:orientation="vertical"> 
  7.     <WebView 
  8.         android:id="@+id/webView" 
  9.         android:layout_width="match_parent" 
  10.         android:layout_height="match_parent"> 
  11.     </WebView> 
  12. </LinearLayout> 

AndroidManifest.xml
Код: [ Загрузить ] [ Скрыть ]
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     package="com.example.p0321simplebrowser"> 
  4.     <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
  5.     <application 
  6.         android:allowBackup="true" 
  7.         android:icon="@mipmap/ic_launcher" 
  8.         android:label="@string/app_name" 
  9.         android:roundIcon="@mipmap/ic_launcher_round" 
  10.         android:supportsRtl="true" 
  11.         android:theme="@style/AppTheme"> 
  12.         <activity android:name=".MainActivity"> 
  13.             <intent-filter> 
  14.                 <action android:name="android.intent.action.MAIN" /> 
  15.  
  16.                 <category android:name="android.intent.category.LAUNCHER" /> 
  17.             </intent-filter> 
  18.         </activity> 
  19.         <activity android:label="MyBrowser" android:name="BrowserActivity"> 
  20.             <intent-filter> 
  21.             <action android:name="android.intent.action.VIEW"></action> 
  22.             <data android:scheme="http"></data> 
  23.             <category android:name="android.intent.category.DEFAULT"></category> 
  24.             </intent-filter> 
  25.         </activity> 
  26.     </application> 
  27.  
  28. </manifest> 

Автор:  0xc00000f [ 17 янв 2019, 18:44 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

kefir писал(а):
Выделяет красным строки:
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="http"></data>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>

Пишет мол: Activity supporting ACTION_VIEW is not set as BROWSABLE less....(Ctrl+F1)
Ensure the URL is supported by your app, to get installs and traffic to your app from Google Search.
Issue id: AppLinkUrlError.
Подскажите как решить проблему пожалуйста.


Мне помогли следующие изменения в манифесте:
Цитата:
<activity android:name=".BrowserActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="http"></data>
<category android:name="android.intent.category.BROWSABLE"></category>
</intent-filter>
</activity>


Другой способ решения предлагается здесь https://stackoverflow.com/questions/25767927/set-app-activity-to-accept-action-view-action
Но я не совсем догнал, что тут происходит, может вы, коллеги, мне объясните :)

Автор:  ilmaxwell [ 20 янв 2019, 17:29 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

такой вопрос, решил сделать браузер с небольшими модификациями: прикрутил edittext чтобы вводить адрес, без активити которое создает интент view http, в общем у меня в манифесте
Код: [ Загрузить ] [ Скрыть ]
  1. <activity android:name=".MainActivity"> 
  2.             <intent-filter> 
  3.                 <action android:name="android.intent.action.MAIN" /> 
  4.                 <action android:name="android.intent.action.VIEW" /> 
  5.                 <data android:scheme="http"/> 
  6.                 <category android:name="android.intent.category.LAUNCHER" /> 
  7.                 <category android:name="android.intent.category.BROWSABLE" /> 
  8.             </intent-filter> 
  9. </activity> 

почему не предлагается мое активити когда пытаюсь открыть ссылку с http? (варианты предлагаются но в них нет моего)

Автор:  ilmaxwell [ 21 янв 2019, 16:24 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

проблема в том, что активити запускается с помощью стартактивити только если оно принадлежит к категории дефолт, но добавлением строки не сработало, вот правильно:
Код: [ Загрузить ] [ Скрыть ]
  1. <activity android:name=".MainActivity" android:screenOrientation="portrait"> 
  2.             <intent-filter> 
  3.                 <action android:name="android.intent.action.MAIN" /> 
  4.                 <category android:name="android.intent.category.LAUNCHER" /> 
  5.  
  6.             </intent-filter> 
  7.             <intent-filter> 
  8.                 <action android:name="android.intent.action.VIEW" /> 
  9.                 <data android:scheme="http"/> 
  10.                 <data android:scheme="https"/> 
  11.                 <category android:name="android.intent.category.BROWSABLE" /> 
  12.                 <category android:name="android.intent.category.DEFAULT"/> 
  13.             </intent-filter> 
  14.         </activity> 

Автор:  Vitas [ 23 янв 2019, 19:38 ]
Заголовок сообщения:  Re: Урок 32. Пишем простой браузер

Ссылка ни в какую не открывается в моем браузере. Только во встроенном. Установлена Android Studio 3.3 система на эмуляторе Android 5.1(API 22). Файл манифеста. Чо не так?
Код: [ Загрузить ] [ Скрыть ]
  1. [syntax=java]<?xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     package="com.example.p0321_simplebrowser"> 
  4.     <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
  5.  
  6.     <application 
  7.         android:allowBackup="true" 
  8.         android:icon="@mipmap/ic_launcher" 
  9.         android:label="@string/app_name" 
  10.         android:roundIcon="@mipmap/ic_launcher_round" 
  11.         android:supportsRtl="true" 
  12.         android:theme="@style/AppTheme"> 
  13.          <activity android:name=".BrowserActivity" android:label="MyBrowser"> 
  14.             <intent-filter> 
  15.                 <action android:name="android.intent.action.VIEW."></action> 
  16.                 <data android:scheme="http"></data> 
  17.                 <category android:name="android.intent.category.DEFAULT"></category> 
  18.             </intent-filter> 
  19.         </activity> 
  20.         <activity android:name=".MainActivity"> 
  21.             <intent-filter> 
  22.                 <action android:name="android.intent.action.MAIN" /> 
  23.  
  24.                 <category android:name="android.intent.category.LAUNCHER" /> 
  25.             </intent-filter> 
  26.         </activity> 
  27.     </application> 
  28.  
  29. </manifest> 
[/syntax]
Добавил
Код: [ Загрузить ] [ Скрыть ]
  1. <data android:scheme="https"></data> 
  2. <category android:name="android.intent.category.BROWSABLE "></category> 

Один хрен всё то же((

Попробовал создать собственный фильтр вместо ACTION_VIEW и прописал его в action в манифесте <activity BrowserActivity. Эмулятор ругнулся и закрыл приложение.

Страница 8 из 8 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/