我制作了一个简单的应用程序,其活动可以在点击图像时播放视频(它工作正常)但后来我尝试将其与亚马逊登录sdk合并,从那以后它无法播放视频 . 它没有显示任何错误 .

package com.amazon.identity.auth.device.lwaapp; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ImageView;公共类MainActivity扩展AppCompatActivity实现View.OnClickListener {@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);

ImageView imageView1 =(ImageView)findViewById(R.id.imageView1);
imageView1.setOnClickListener(this);

ImageView imageView2 =(ImageView)findViewById(R.id.imageView2);
imageView2.setOnClickListener(this);

ImageView imageView3 =(ImageView)findViewById(R.id.imageView3);
imageView3.setOnClickListener(this);

ImageView imageView4 =(ImageView)findViewById(R.id.imageView4);
imageView4.setOnClickListener(this);

}

@覆盖
public void onClick(查看v){
switch(v.getId()){

case R.id.imageView1:
openActivity1();
Intent intent = new Intent(this,Activity1.class);
startActivity(intent);

打破;

case R.id.imageView2:
openActivity2();
Intent intent1 = new Intent(this,Activity2.class);
startActivity(intent1);

打破;

case R.id.imageView3:
openActivity3();
Intent intent2 = new Intent(this,Activity3.class);
startActivity(intent2);

打破;

case R.id.imageView4:

openActivity4();
Intent intent3 = new Intent(this,Activity4.class);
startActivity(intent3);

打破;

默认:

openActivity1();

}

}

private void openActivity1(){
}
private void openActivity2(){
}
private void openActivity3(){
}
private void openActivity4(){
}}
/ 用于amazon登录活动的Java文件,我甚至试图在这里调用AppcompatActivity,但随后我的应用程序停止工作 / package com.amazon.identity.auth.device.lwaapp; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.Gravity; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import com.amazon.identity.auth.device.AuthError; import com.amazon.identity.auth.device.api.Listener; import com.amazon.identity.auth.device.api.authorization.AuthCancellation; import com.amazon.identity.auth.device.api.authorization.AuthorizationManager; import com.amazon.identity.auth.device.api.authorization.AuthorizeListener; import com.amazon.identity.auth.device.api.authorization.AuthorizeRequest; import com.amazon.identity.auth.device.api.authorization.AuthorizeResult; import com.amazon.identity.auth.device.api.authorization.ProfileScope; import com.amazon.identity.auth.device.api.authorization.Scope; import com.amazon.identity.auth.device.api.authorization.User; import com.amazon.identity.auth.device.api.workflow.RequestContext; public class LoginWithAmazonActivity extends Activity {private static final String TAG = LoginWithAmazonActivity.class.getName();

private TextView mProfileText;
私人按钮mLogoutButton;
private ProgressBar mLogInProgress;
private RequestContext requestContext;
private boolean mIsLoggedIn;
私人观点mLoginButton;

@覆盖
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

requestContext = RequestContext.create(this);

requestContext.registerListener(new AuthorizeListener(){

@覆盖
public void onSuccess(AuthorizeResult authorizeResult){
runOnUiThread(new Runnable(){
@覆盖
public void run(){
//此时我们知道授权已完成,因此删除了返回应用以再次登录的功能
setLoggingInState(真);
}
});
fetchUserProfile();
}

@覆盖
public void onError(AuthError authError){
Log.e(TAG,“授权期间的AuthError”,authError);
runOnUiThread(new Runnable(){
@覆盖
public void run(){
showAuthToast(“授权时出错 . 请再试一次 . ”);
resetProfileView();
setLoggingInState(假);
}
});
}

@覆盖
public void onCancel(AuthCancellation authCancellation){
Log.e(TAG,“用户取消授权”);
runOnUiThread(new Runnable(){
@覆盖
public void run(){
showAuthToast(“授权取消”);
resetProfileView();
}
});
}
});

的setContentView(R.layout.activity_main);
initializeUI();

}

@覆盖
protected void onResume(){
super.onResume();
requestContext.onResume();
}

@覆盖
protected void onStart(){
super.onStart();
Scope [] scopes = {ProfileScope.profile(),ProfileScope.postalCode()};
AuthorizationManager.getToken(this,scopes,new Listener <AuthorizeResult,AuthError>(){
@覆盖
public void onSuccess(AuthorizeResult结果){
if(result.getAccessToken()!= null){
/ 用户已登录 /
fetchUserProfile();
} else {

}
}

@覆盖
public void onError(AuthError ae){
/ 用户未登录 /
}
});
}

private void fetchUserProfile(){
User.fetch(this,new Listener <User,AuthError>(){

@覆盖
public void onSuccess(用户用户){
final String name = user.getUserName();
final String email = user.getUserEmail();
final String account = user.getUserId();
final String zipCode = user.getUserPostalCode();

runOnUiThread(new Runnable(){
@覆盖
public void run(){
updateProfileData(name,email,account,zipCode);
}
});
}

@覆盖
public void onError(AuthError ae){
runOnUiThread(new Runnable(){
@覆盖
public void run(){
setLoggedOutState();
String errorMessage =“检索配置文件信息时出错 . \ n请再次登录”;
Toast errorToast = Toast.makeText(getApplicationContext(),errorMessage,
Toast.LENGTH_LONG); errorToast.setGravity(Gravity.CENTER,0,0); errorToast.show(); }}; }}; private void updateProfileData(String name,String email,String account,String zipCode){
StringBuilder profileBuilder = new StringBuilder();
profileBuilder.append(String.format(“Welcome,%s!\ n”,name));
profileBuilder.append(String.format(“您的电子邮件是%s \ n”,电子邮件));
profileBuilder.append(String.format(“你的zipCode是%s \ n”,zipCode));
final String profile = profileBuilder.toString();
Log.d(TAG,“ Profiles 回复:” Profiles );
runOnUiThread(new Runnable(){
@覆盖
public void run(){
updateProfileView(配置文件);
setLoggedInState();
}
});
}

private void initializeUI(){

mLoginButton = findViewById(R.id.login_with_amazon);
mLoginButton.setOnClickListener(new View.OnClickListener(){
@覆盖
public void onClick(查看视图){
AuthorizationManager.authorize(
new AuthorizeRequest.Builder(requestContext)
.addScopes(ProfileScope.profile(),ProfileScope.postalCode())
. Build ()
);
}
});

//找到带有注销ID的按钮并设置点击处理程序
查看logoutButton = findViewById(R.id.logout);
logoutButton.setOnClickListener(new View.OnClickListener(){

@覆盖
public void onClick(查看v){
AuthorizationManager.signOut(getApplicationContext(),new
Listener(){@ Overver public void onSuccess(Void response){runOnUiThread(new Runnable(){@Override public void run(){setLoggedOutState();}}); } @Override
public void onError(AuthError authError){
Log.e(TAG,“清除授权状态错误 . ”,authError);
}
});
}
});

String logoutText = getString(R.string.logout);
mProfileText =(TextView)findViewById(R.id.profile_info);
mLogoutButton =(Button)logoutButton;
mLogoutButton.setText(logoutText);
mLogInProgress =(ProgressBar)findViewById(R.id.log_in_progress);
}

private void updateProfileView(String profileInfo){
Log.d(TAG,“正在更新 Profiles 视图”);
mProfileText.setText(profileInfo);
}

private void resetProfileView(){
setLoggingInState(假);
mProfileText.setText(的getString(R.string.default_message));
}

private void setLoggedInState(){
mLoginButton.setVisibility(Button.GONE);
setLoggedInButtonsVisibility(Button.VISIBLE);
mIsLoggedIn = true;
setLoggingInState(假);
}

private void setLoggedOutState(){
mLoginButton.setVisibility(Button.VISIBLE);
setLoggedInButtonsVisibility(Button.GONE);
mIsLoggedIn = false;
resetProfileView();
}

private void setLoggedInButtonsVisibility(int visibility){
mLogoutButton.setVisibility(可见性);
}

private void setLoggingInState(final boolean loggingIn){
if(loggingIn){
mLoginButton.setVisibility(Button.GONE);
setLoggedInButtonsVisibility(Button.GONE);
mLogInProgress.setVisibility(ProgressBar.VISIBLE);
mProfileText.setVisibility(TextView.GONE);
} else {
if(mIsLoggedIn){
setLoggedInButtonsVisibility(Button.VISIBLE);
} else {
mLoginButton.setVisibility(Button.VISIBLE);
}
mLogInProgress.setVisibility(ProgressBar.GONE);
mProfileText.setVisibility(TextView.VISIBLE);
}
}

private void showAuthToast(String authToastMessage){
Toast authToast = Toast.makeText(getApplicationContext(),authToastMessage,Toast.LENGTH_LONG);
authToast.setGravity(Gravity.CENTER,0,0);
authToast.show();
}
}


<ImageView
android:id =“@ id / imageView1”
机器人:layout_width = “150dp”
机器人:layout_height = “150dp”
机器人:SRC = “@绘制/ aggressive_momemnts”
机器人:可点击=“真”
机器人:可聚焦=“真”

android:contentDescription =“@ string / todo”/>

<ImageView的
android:id =“@ id / imageView2”
机器人:layout_width = “150dp”
机器人:layout_height = “150dp”
机器人:layout_marginStart = “30DP”
机器人:可点击=“真”
机器人:可聚焦=“真”
机器人:能见度=“水涨船高”
机器人:SRC = “@绘制/ best_moments”
机器人:layout_marginLeft = “30DP”
机器人:contentDescription = “@字符串/待办事项”/>

<ImageView的
android:id =“@ id / imageView3”
机器人:layout_width = “150dp”
机器人:layout_height = “150dp”
机器人:layout_marginStart = “30DP”
机器人:layout_marginEnd = “99dp”
机器人:可点击=“真”
机器人:可聚焦=“真”
机器人:SRC = “@绘制/ best_player”
机器人:layout_marginLeft = “30DP”
机器人:layout_marginRight = “99dp”
android:contentDescription =“@ string / todo”/>

<ImageView的
android:id =“@ id / imageView4”
机器人:layout_width = “150dp”
机器人:layout_height = “150dp”
机器人:layout_marginStart = “30DP”
机器人:可点击=“真”
机器人:可聚焦=“真”
机器人:SRC = “@绘制/教练”
机器人:layout_marginLeft = “30DP”
android:contentDescription =“@ string / todo”/>

<的FrameLayout
机器人:layout_width = “match_parent”
机器人:layout_height = “match_parent”
android:id =“@ id / fragment”/>

<进度
android:id =“@ id / log_in_progress”
机器人:layout_width = “WRAP_CONTENT”
机器人:layout_height = “WRAP_CONTENT”

风格= “@安卓风格/ Widget.ProgressBar.Inverse”/>

</的LinearLayout>
<TextView的
android:id =“@ id / profile_info”
机器人:layout_width = “310dp”
机器人:layout_height = “WRAP_CONTENT”
机器人:文字= “@字符串/ default_message”
机器人:TEXTSIZE = “15sp”
机器人:比重=“中心”
机器人:layout_gravity = “中心”/>

<的ImageButton
机器人:layout_width = “WRAP_CONTENT”
机器人:layout_height = “WRAP_CONTENT”
机器人:layout_alignParentBottom = “真”
机器人:layout_centerHorizontal = “真”
机器人:layout_marginBottom = “10dp”
android:id =“@ id / login_with_amazon”
机器人:SRC = “@颜色/ login_button_image_state”
机器人:背景=“@机器人:彩色/透明”
机器人:填充= “0dp”
机器人:contentDescription = “@字符串/ login_button_content_description”
/> <按钮
机器人:layout_width = “WRAP_CONTENT”
机器人:layout_height = “WRAP_CONTENT”
机器人:layout_alignParentTop = “真”
机器人:layout_alignParentRight = “真”
机器人:layout_marginTop = “10dp”
机器人:layout_marginRight = “10dp”
android:id =“@ id / logout”
机器人:文字=“@字符串/注销”
机器人:能见度=“水涨船高”
机器人:可点击=“真”
机器人:文字颜色= “@颜色/ logout_text_color_state”
机器人:paddingBottom来= “10dp”
机器人:layout_alignParentEnd = “真”
android:layout_marginEnd =“10dp”/>

<按钮
机器人:layout_width = “WRAP_CONTENT”
机器人:layout_height = “WRAP_CONTENT”
机器人:layout_alignParentTop = “真”
机器人:layout_alignParentRight = “真”
机器人:layout_marginTop = “10dp”
机器人:layout_marginRight = “10dp”
android:id =“@ id / return_to_app”
机器人:文字= “@字符串/ return_to_app”
机器人:能见度=“水涨船高”
机器人:可点击=“真”
机器人:文字颜色= “@颜色/ logout_text_color_state”
机器人:paddingBottom来= “10dp”
机器人:layout_alignParentEnd = “真”
android:layout_marginEnd =“10dp”/> </ RelativeLayout>

其中一项活动是我为所有视频单独制作的

<?xml version =“1.0”encoding =“utf-8”?>
<RelativeLayout的
的xmlns:机器人= “http://schemas.android.com/apk/res/android”
的xmlns:应用= “http://schemas.android.com/apk/res-auto”
的xmlns:工具= “http://schemas.android.com/tools”
机器人:layout_width = “match_parent”
机器人:layout_height = “match_parent”
工具:上下文=”活动1" >

<VideoView
机器人:layout_width = “match_parent”
机器人:layout_height = “match_parent”
android:id =“@ id / v1”
/>
</ RelativeLayout的>


package com.amazon.identity.auth.device.lwaapp; import android.app.Activity; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.VideoView;公共类Activity1扩展了AppCompatActivity {@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_1);

VideoView v1 =(VideoView)findViewById(R.id.v1);

v1.setVideoURI(Uri.parse(“https // . mp4”));
v1.start();
v1.requestFocus();
v1.setKeepScreenOn(true);
}}