Saya dapat menjalankan aplikasi ionik di laptop saya dengan menggunakan perintah ionic lab.

Aplikasi membuat panggilan ke api IMDB, & menampilkan data yang diambil darinya.

Sekarang, saya mencoba menjalankan aplikasi di perangkat android. dengan menggunakan perintah berikut: ionic cordova run android --device.

Aplikasi muncul di ponsel saya, tetapi ketika saya mencari data IMDB, tidak ada hasil yang muncul.

Di bawah ini adalah layanan yang saya gunakan untuk melakukan panggilan ke API:

export class MovieService {

  url = 'http://www.omdbapi.com/';
  apiKey = 'myKey';

  constructor(private http: HttpClient) { }

  searchData(title: string, type: SearchType): Observable<any> {
    return this.http.get(`${this.url}?s=${encodeURI(title)}&type=${type}&apikey=${this.apiKey}`)
      .pipe(
        map(results => {
          console.log('RAW', results);
          return results['Search'];
        })
      );
  }

  getDetails(id): Observable<any> {
    return this.http.get(`${this.url}?i=${id}&plot=full&apikey=${this.apiKey}`);
  }
}

Dapatkah seseorang tolong beri tahu saya mengapa aplikasi ini berfungsi di laptop saya, tetapi ketika saya mencoba menggunakannya di ponsel saya, itu tidak berfungsi seperti yang diharapkan?

2
user9847788 9 Agustus 2019, 18:41

1 menjawab

Jawaban Terbaik

Mungkin salah satu alasannya adalah Anda menggunakan http bukan https.

Android membatasi akses ke feed yang tidak aman dalam pembaruan keamanan terbaru.

Mencoba:

url = 'https://www.omdbapi.com/';
3
rtpHarry 9 Agustus 2019, 16:34