我是Android编程新手。我目前正在做像应用程序但有问题的视频播放器。该应用程序采用这种方式:
我想在我的应用中使用即使您关闭应用,我也不需要在重新启动时选择要播放的视频。我想让它播放保存路径的视频。我希望这是可能的。
以下是MainActivity代码:
public class MainActivity extends Activity {
AlarmManager alarmManager;
private static int RESULT_LOAD_IMAGE = 1;
private static final int MY_INTENT_CLICK=302;
private PendingIntent pendingIntent;
private static MainActivity inst;
String meduri;
public static MainActivity instance() {
return inst;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
meduri = prefs.getString("key", "");
Button chs = (Button) findViewById(R.id.choose);
chs.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
chooseMed();
}
});
}
public void chooseMed(){
final Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT);
galleryIntent.setType("video/*");
startActivityForResult(galleryIntent, RESULT_LOAD_IMAGE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data != null) {
setVid(data.getDataString());
}
}
public void setVid(String uriq){
SharedPreferences prefs = this.getSharedPreferences("myPrefsKey", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("key", uriq);
editor.apply();
meduri = uriq;
}
public void playvid(){
VideoView vdeo = (VideoView) findViewById(R.id.videoview);
vdeo.setVisibility(View.VISIBLE);
vdeo.setVideoURI(Uri.parse(meduri));
vdeo.setMediaController(new MediaController(this));
vdeo.requestFocus();
vdeo.start();
}
}
我希望你能解决我的问题。 :)
答案 0 :(得分:0)
Uri
ACTION_GET_CONTENT
无需长时间使用Uri
。您可以临时访问其内容,但可能无法永久访问。
这与Web开发非常相似。 URL可能是您可以保存并稍后使用的内容,但如果服务器需要会话cookie或某种其他形式的用户身份验证/授权,则该URL可能在将来无法使用。
如果您使用Android 4.4+上提供的存储访问框架,则可以请求持久Uri
权限,如果授予这些权限,您将获得对内容的长期访问权限。这些ExecuteStoreQuery
值可以保存并稍后使用。