3

我正在尝试打开我的 sdcard 中的本地 kml 文件,但出现错误。在 stackoverflow 本身中,我看到了一些与此相关的问题,但没有得到解答,有些与此无关。

android - 如何在android中打开kml文件

Android - 如何使用 Intent 和 KML 打开谷歌地图?

我的代码

public void openKMLFile(View v)

    final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, 
            Uri.parse("geo:0,0?q=file://" + Environment.getExternalStorageDirectory() + "/test.kml"));
    startActivity(myIntent);
}

Android Manifest 文件我已授予此权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.demo"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name="com.example.demo.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

日志错误:

04-05 11:42:01.806: E/AndroidRuntime(833): FATAL EXCEPTION: main
04-05 11:42:01.806: E/AndroidRuntime(833): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.demo/com.example.demo.MainActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=geo:0,0?q=file:///mnt/sdcard/10.kml }
04-05 11:42:01.806: E/AndroidRuntime(833): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=geo:0,0?q=file:///mnt/sdcard/10.kml }

非常感谢您的帮助。谢谢

4

0 回答 0