为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

九州编程 2023-03-23 13:51:02
从我的 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);    }
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

您可以使用具有特定结构的深层链接


追加吹线清单


定义 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);


查看完整回答
反对 回复 2023-03-23
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

您需要使 String title 和 urlYoutube 全局化(即在 onCreate 之外)。然后通过这种方式在 onCreate 内部初始化,您可以在 onCreate 方法之外使用意图数据


例如


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;

    public String title,urlYoutube; 

//hello



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_player);

        extractYoutubeUrl();

        simpleExoPlayerView = findViewById(R.id.player);



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

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



    }

我希望这能解决你的问题。


查看完整回答
反对 回复 2023-03-23
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信