我想在 oncreate() 活动之外从另一个类中提取我在 exoplayer 中的

从我的 recyclerview 适配器类到 intent put extra 我正在传递视频的 URL,我想在 oncreate() 活动之外获取 getintent。在我的 oncreate() 之外的另一个字符串中传递 URL。是否有可能在 oncreate 之外访问 getintent 字符串?


在这个类中,我想在 ONCREATE() 之前获取视频 URL 的意图以传递 URL 而不是静态 URL;


package com.example.movies.uis;


import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;


import android.annotation.SuppressLint;

import android.content.pm.ActivityInfo;

import android.content.res.Configuration;

import android.os.Bundle;

import android.util.Log;

import android.util.SparseArray;

import android.view.View;

import android.view.WindowManager;

import android.widget.ImageButton;

import android.widget.LinearLayout;

import android.widget.TextView;

import android.widget.Toast;


import com.example.movies.R;

import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;

import com.google.android.exoplayer2.ui.SimpleExoPlayerView;


import at.huber.youtubeExtractor.Format;

import at.huber.youtubeExtractor.VideoMeta;

import at.huber.youtubeExtractor.YouTubeExtractor;

import at.huber.youtubeExtractor.YtFile;


public class PlayerActivity extends AppCompatActivity {

    SimpleExoPlayerView simpleExoPlayerView;

    private String GRID_YOUTUBE_ID = "s9-Id1WJQyo";

    private String BASE_URL = "https://www.youtube.com";

    private String youtubeLink = BASE_URL + "/watch?v=" + GRID_YOUTUBE_ID;

//hello



    @Override

    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_player);

        extractYoutubeUrl();

        simpleExoPlayerView = findViewById(R.id.player);

        

        

        String title = getIntent().getExtras().getString("title");

        String urlYoutube = getIntent().getExtras().getString("videourl");

        

        

        TextView tv_name = findViewById(R.id.txt_title);

        tv_name.setText(title);






    }


九州编程
浏览 123回答 2
2回答

汪汪一只猫

您可以使用具有特定结构的深层链接追加吹线清单定义 ACTION_VIEW 意图操作,以便可以从 Google 搜索访问意图过滤器<action android:name="android.intent.action.VIEW" />并添加 BROWSABLE 类别以便可以从 out off app 访问<category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.BROWSABLE" />添加您的链接结构<data android:host="youtube" android:pathPattern=".*" android:scheme="https"/>有意获取数据Intent intent = getIntent();Uri data = intent.getData();发送数据到应用程序Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://youtube"));startActivity(launchIntent);

慕莱坞森

您需要使 String title 和 urlYoutube 全局化(即在 onCreate 之外)。然后通过这种方式在 onCreate 内部初始化,您可以在 onCreate 方法之外使用意图数据例如public class PlayerActivity extends AppCompatActivity {&nbsp; &nbsp; SimpleExoPlayerView simpleExoPlayerView;&nbsp; &nbsp; private String GRID_YOUTUBE_ID = "s9-Id1WJQyo";&nbsp; &nbsp; private String BASE_URL = "https://www.youtube.com";&nbsp; &nbsp; private String youtubeLink = BASE_URL + "/watch?v=" + GRID_YOUTUBE_ID;&nbsp; &nbsp; public String title,urlYoutube;&nbsp;//hello&nbsp; &nbsp; @Override&nbsp; &nbsp; protected void onCreate(Bundle savedInstanceState) {&nbsp; &nbsp; &nbsp; &nbsp; super.onCreate(savedInstanceState);&nbsp; &nbsp; &nbsp; &nbsp; setContentView(R.layout.activity_player);&nbsp; &nbsp; &nbsp; &nbsp; extractYoutubeUrl();&nbsp; &nbsp; &nbsp; &nbsp; simpleExoPlayerView = findViewById(R.id.player);&nbsp; &nbsp; &nbsp; &nbsp; title = getIntent().getExtras().getString("title");&nbsp; &nbsp; &nbsp; &nbsp; urlYoutube = getIntent().getExtras().getString("videourl");&nbsp; &nbsp; }我希望这能解决你的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java