繁体   English   中英

应用程序在活动开始时崩溃

[英]application crashes when an activity starts

我正在创建一个应用程序,我必须在单击按钮时显示地图。 但是当点击地图按钮而不是显示地图时应用程序崩溃并且它说“不幸的是,'应用程序'已停止”这里是我的代码:

java文件:

package com.example.jamaattiming;

import android.os.Bundle;
import android.app.Activity;
//import android.app.FragmentTransaction;
import android.view.Menu;
import com.example.jamaat_times.R;
import com.google.android.gms.maps.GoogleMap;
//import com.google.android.gms.maps.MapFragment;

public class TagYourself extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tag_yourself);

        /* MapFragment mMapFragment = MapFragment.newInstance();
         FragmentTransaction fragmentTransaction =
                 getFragmentManager().beginTransaction();
         fragmentTransaction.add(R.id.map, mMapFragment);
         fragmentTransaction.commit();

         GoogleMap maps;
         maps=(((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap());*/


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.tag_yourself, menu);
        return true;
    }

}

这是xml文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="#808080">

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

清单文件:

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="info.androidhive.googlemapsv2.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_jamaat"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.jamaattiming.Splash"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.example.jamaattiming.MainPage"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.example.CLEARSCREEN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.example.jamaattiming.Qibla"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="com.example.COMPASS" />

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

        <activity
            android:name="com.example.jamaattiming.JamaatFinder"
            android:label="@string/title_activity_jamaat_finder" >
        </activity>

        <activity
            android:name="com.example.jamaattiming.QiblaFinder"
            android:label="@string/title_activity_qibla_finder" >
        </activity>

        <activity
            android:name="com.example.jamaattiming.TagYourself"
            android:label="@string/title_activity_tag_yourself" >
         </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="my key" />

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <activity
            android:name="com.example.jamaattiming.NearbySearch"
            android:label="@string/title_activity_nearby_search" >
        </activity>

        <activity
            android:name="com.example.jamaattiming.ManualSearch"
            android:label="@string/title_activity_manual_search" >
        </activity>


    </application>

</manifest>

这是日志猫:

04-01 00:32:36.587:I / SurfaceTextureClient(18546):[STC :: queueBuffer](this:0x518786b0)fps:0.88,dur:2279.85,max:1974.08,min:305.77 04-01 00:32:36.990 :V / Provider / Settings(18546):invalidate [system]:current 214!= cached 0 04-01 00:32:37.020:D / ActivityThread(18546):installProvider:04-01 00:32:37.034:V /提供者/设置(18546):来自db cache,name = sound_effects_enabled,value = 0 04-01 00:32:37.223:D / mylog(18546):Wifi State true 04-01 00:32:38.102:D / ActivityThread( 18546):getPackageInfo:securityViolation = true 04-01 00:32:38.102:W / asset(18546):AssetManager - > addDefaultAssets CIP路径不存在! 04-01 00:32:38.741:I / Google Maps Android API(18546):Google Play服务客户端版本:4242000 04-01 00:32:39.025:I / Google Maps Android API(18546):Google Play服务包版本:4324034 04-01 00:32:39.538:D / AndroidRuntime(18546):关闭VM 04-01 00:32:39.538:W / dalvikvm(18546):threadid = 1:线程退出时未捕获异常(组= 0x419b19a8 )04-01 00:32:39.709:E / AndroidRuntime(18546):FATAL EXCEPTION:main 04-01 00:32:39.709:E / AndroidRuntime(18546):java.lang.RuntimeException:无法启动活动ComponentInfo {com .example.jamaat_times / com.example.jamaattiming.TagYourself}:android.view.InflateException:二进制XML文件行#8:错误膨胀类片段04-01 00:32:39.709:E / AndroidRuntime(18546):在android。 app.ActivityThread.performLaunchActivity(ActivityThread.java:2343)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)04-01 00:32: 39.709:E / AndroidRuntime(18546):在android .app.ActivityThread.access $ 600(ActivityThread.java:162)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1364)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.os.Handler.dispatchMessage(Handler.java:107)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.os.Looper .loop(Looper.java:194)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.app.ActivityThread.main(ActivityThread.java:5371)04-01 00:32:39.709:E / AndroidRuntime(18546):at java.lang.reflect.Method.invokeNative(Native Method)04-01 00:32:39.709:E / AndroidRuntime(18546):at java.lang.reflect.Method.invoke(Method.java) :525)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:833)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)04-01 00:32:39.709:E / AndroidRuntime(18546):at dalvik.system.NativeStart.main(原生方法)04- 01 00:32:39.709:E / AndroidRuntime(18546):引起:android.view.InflateException:二进制XML文件行#8:错误膨胀类片段04-01 00:32:39.709:E / AndroidRuntime(18546):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)04-01 00 :32:39.709:E / AndroidRuntime(18546):在android.view.LayoutInflater.inflate(LayoutInflater.java:489)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.view.LayoutInflater。 inflate(LayoutInflater.java:396)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.view.LayoutInflater.inflate(LayoutInflater.java:352)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:281)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.app.Activity.setContentView (Activity.java:1881)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.example.jamaattimi ng.TagYourself.onCreate(TagYourself.java:16)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.app.Activity.performCreate(Activity.java:5122)04-01 00:32: 39.709:E / AndroidRuntime(18546):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.app.ActivityThread.performLaunchActivity(ActivityThread .java:2307)04-01 00:32:39.709:E / AndroidRuntime(18546):... 11更多04-01 00:32:39.709:E / AndroidRuntime(18546):引起:java.lang.SecurityException :Maps API要求在AndroidManifest.xml中设置其他以下权限以确保正确的行为:04-01 00:32:39.709:E / AndroidRuntime(18546):04-01 00:32:39.709:E / AndroidRuntime(18546):at maps.e.ci.a(Unknown Source)04-01 00:32:39.709:E / AndroidRuntime(18546):at maps.e.ay.a(Unknown Source)04-01 00: 32:39.709:E / AndroidRuntime(18546):at maps.e.ay.a(Unknown Source)04-01 00:32:39.709:E / AndroidRuntime(18546):at maps.e.al.a(Unkn 拥有来源)04-01 00:32:39.709:E / AndroidRuntime(18546):at maps.e.bh.a(Unknown Source)04-01 00:32:39.709:E / AndroidRuntime(18546):at maps。 e.bg.a(Unknown Source)04-01 00:32:39.709:E / AndroidRuntime(18546):at etu.onTransact(SourceFile:107)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.os.Binder.transact(Binder.java:310)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.google.android.gms.maps.internal.IMapFragmentDelegate $ a $ a。 onCreateView(未知来源)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.google.android.gms.maps.MapFragment $ a.onCreateView(Unknown Source)04-01 00:32:39.709: E / AndroidRuntime(18546):at com.google.android.gms.dynamic.a $ 4.b(Unknown Source)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.google.android.gms .dynamic.aa(Unknown Source)04-01 00:32:39.709:E / AndroidRuntime(18546):at com.google.android.gms.dynamic.a.onCreateView(Unknown Source)04-01 00:32:39.709 :E / AndroidRuntime(18546):at com.google.android.gms.maps.MapFragment.onCreateVi ew(未知来源)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.app.Fragment.performCreateView(Fragment.java:1695)04-01 00:32:39.709:E / AndroidRuntime(18546) ):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:861)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)04- 01 00:32:39.709:E / AndroidRuntime(18546):在android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1137)04-01 00:32:39.709:E / AndroidRuntime(18546):在android.app。 Activity.onCreateView(Activity.java:4735)04-01 00:32:39.709:E / AndroidRuntime(18546):at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)04-01 00:32:39.709: E / AndroidRuntime(18546):... enter code here 21个enter code here

看看你的logcat的这一行:

 Caused by:
java.lang.SecurityException: The Maps API requires the additional following permissions to be set in the AndroidManifest.xml to ensure a correct behavior: 04-01 00:32:39.709: 
E/AndroidRuntime(18546): <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 04-01 00:32:39.709: E/AndroidRuntime(18546):   at maps.e.ci.a(Unknown Source)

您似乎忘了添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

到您的AndroidManifest xml文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM