getApplicationContext()和intent过滤器

时间:2017-11-09 18:12:04

标签: android android-intent

我正在使用this库制作pdf文件查看器应用。我成功应用了其他内容,但我一直未能将应用与#34;使用"完成操作相关联。 Android列表。

首先,库的init()方法如下(MainActivity.java):

private void init() {
    lv_pdf = (ListView)findViewById(R.id.lv_pdf);
    dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
    fn_permission();

    lv_pdf.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            Intent intent = new Intent(getApplicationContext(), PdfActivity.class);
            intent.putExtra("position", i);
            startActivity(intent);
            Log.e("Position", i + "");
        }
    });
}

其次,AndroidManifest.xml文件如下:

<activity
    android:name=".MainActivity"
    android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity
    android:name=".PdfActivity"
    android:screenOrientation="portrait">
    <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

MainActivity.java定义应用程序的权限和启动屏幕,PdfActivity.java显示pdf文件的内容。

问题:

init()方法与getApplicationContext()具有隐含意图。如何将其链接到AndroidManifest.xml文件中的intent过滤器?我想通过&#34;使用&#34;完成操作来启动应用程序屏幕。

2 个答案:

答案 0 :(得分:0)

而不是getApplicationContext()使用MainActivity.this

答案 1 :(得分:0)

你也可以使用它 Intent intent = new(this,PdfActivity.class);