Android 使用exoplayer时权限被拒绝(缺少INTERNET权限?)

Android 使用exoplayer时权限被拒绝(缺少INTERNET权限?),android,exoplayer,Android,Exoplayer,我是android的初学者,我尝试使用ExoPlayer来显示视频,但我在尝试运行elumater时遇到了问题,它崩溃了,并在logcat“意外异常加载流”中给了我该错误 这是我的Logcat错误 10-17 17:31:12.619 8321-8631/com.example.abdelmagied.bakingapp E/LoadTask:意外异常加载流 java.lang.SecurityException:权限被拒绝(缺少INTERNET权限?) 位于java.net.InetAddre

我是android的初学者,我尝试使用ExoPlayer来显示视频,但我在尝试运行elumater时遇到了问题,它崩溃了,并在logcat“意外异常加载流”中给了我该错误

这是我的Logcat错误

10-17 17:31:12.619 8321-8631/com.example.abdelmagied.bakingapp E/LoadTask:意外异常加载流
java.lang.SecurityException:权限被拒绝(缺少INTERNET权限?)
位于java.net.InetAddress.lookupHostByName(InetAddress.java:464)
位于java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
位于java.net.InetAddress.getAllByName(InetAddress.java:215)
位于com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
位于com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:188)
在com.android.okhttp.internal.http.RouteSelector.nextProxy上(RouteSelector.java:157)
在com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:100)上
位于com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:357)
位于com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:340)
位于com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
位于com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
位于com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:433)
位于com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:114)
位于com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
位于com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java)
位于com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:427)
位于com.google.android.exoplayer2.upstream.DefaultHttpDataSource.makeConnection(DefaultHttpDataSource.java:351)
位于com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:193)
位于com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:123)
在com.google.android.exoplayer2.source.extractoremipperiod$ExtractingLoadable.load(extractoremipperiod.java:623)
位于com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
运行(Thread.java:818)
原因:android.system.gai异常:android\u getaddrinfo失败:EAI\u NODATA(没有与主机名关联的地址)
位于libcore.io.Posix.android_getaddrinfo(本机方法)
位于libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
这是我的清单文件


包含外部玩家的活动

package com.example.abdelmagied.bakingapp;
导入android.app.NotificationManager;
导入android.net.Uri;
导入android.os.Handler;
导入android.support.v4.media.session.MediaSessionCompat;
导入android.support.v4.media.session.PlaybackStateCompat;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.example.abdelmagied.bakingapp.recipeContents.steps;
导入com.google.android.exoplayer2.DefaultLoadControl;
导入com.google.android.exoplayer2.ExoPlaybackException;
导入com.google.android.exoplayer2.ExoPlayer;
导入com.google.android.exoplayer2.ExoPlayerFactory;
导入com.google.android.exoplayer2.LoadControl;
导入com.google.android.exoplayer2.SimpleExoPlayer;
导入com.google.android.exoplayer2.Timeline;
导入com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
导入com.google.android.exoplayer2.source.extractorediasource;
导入com.google.android.exoplayer2.source.MediaSource;
导入com.google.android.exoplayer2.source.TrackGroupArray;
导入com.google.android.exoplayer2.trackselection.AdaptiveVideoTrackSelection;
导入com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
导入com.google.android.exoplayer2.trackselection.trackselection;
导入com.google.android.exoplayer2.trackselection.TrackSelectionArray;
导入com.google.android.exoplayer2.trackselection.TrackSelector;
导入com.google.android.exoplayer2.ui.SimpleExoPlayerView;
导入com.google.android.exoplayer2.upstream.BandwidthMeter;
导入com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
导入com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
导入com.google.android.exoplayer2.util.util;
导入butterknife.BindView;
进口毛刀,毛刀;
公共类stepDetailActivity扩展AppCompatActivity实现ExoPlayer.EventListener{
私人SimpleExoPlayer-mExoPlayer;
私人SimpleExoPlayerView mPlayerView;
私有静态媒体会话比较分离;
私人PlaybackStateCompat.Builder mStateBuilder;
@BindView(R.id.description)
公共文本视图描述;
私有静态最终字符串标记=stepDetailActivity.class.getSimpleName();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u step\u detail);
步骤myrecipes=(步骤)getIntent().getParcelableExtra(“步骤详细信息”);
mPlayerView=(SimpleExoPlayerView)findViewById(R.id.player);
初始化分离();
初始化图层(Uri.p
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>