请问我正在尝试将我的启动器Activity更改为我刚刚使用twitter数字开发的身份验证活动,我已经在我的android manifest
和java代码中进行了必要的调整但是注意到应用程序每次都会崩溃尝试启动,身份验证活动的名称为AboutAcivity.java
,在调试会话期间,我从我的Android监视器控制台观察到此行突出显示为蓝色at com.close.close.AboutActivity.onCreate(AboutActivity.java:34)
总是指向setContentView(R.layout.activity_about);
我已经检查了布局并且没有发现任何错误,我想我需要第三只眼来帮助粉碎这个烦人的错误,注意,我已经审查了其他staackoverflow问题但是那里的解决方案对我不起作用。谢谢。
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.close.close"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission
android:name="android.permission.CAMERA"
android:required="true"/>
<uses-feature android:name="android.hardware.camera.any"/>
<android:uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<android:uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<application
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:theme="@style/CustomActionBarTheme">
<service
android:name=".MessageService"
android:enabled="true"/>
<activity
android:name=".AboutActivity"
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.theartofdev.edmodo.cropper.CropImageActivity"/>
<meta-data
android:name="io.fabric.ApiKey"
android:value="34308698bb3cbc96444f2ff10ad1ae167d75d8e9"/>
<activity android:name=".MainActivity">
</activity>
<activity android:name=".Profile_info">
</activity>
<activity
android:name=".ChatActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_chat"
android:launchMode="singleTop">
</activity>
<activity
android:name=".ViewImageActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_view_image"
android:parentActivityName=".ChatActivity"
android:theme="@style/FullscreenTheme">
</activity>
<activity
android:name=".RecordAudioActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_record_audio"
android:parentActivityName=".ChatActivity">
</activity>
<activity
android:name=".PlayVideoActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_play_video">
</activity>
<activity
android:name=".FilePickerActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_file_picker"
android:parentActivityName=".ChatActivity">
</activity>
<activity
android:name=".WebViewActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_web_view"
android:parentActivityName=".ChatActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="myweburl"/>
</intent-filter>
</activity>
<activity
android:name=".DrawingActivity"
android:label="@string/title_activity_drawing">
</activity>
</application>
</manifest>
这是AboutActivity代码
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.Toast;
import com.digits.sdk.android.AuthCallback;
import com.digits.sdk.android.Digits;
import com.digits.sdk.android.DigitsAuthButton;
import com.digits.sdk.android.DigitsException;
import com.digits.sdk.android.DigitsSession;
import com.twitter.sdk.android.core.TwitterAuthConfig;
import com.twitter.sdk.android.core.TwitterCore;
import io.fabric.sdk.android.Fabric;
public class AboutActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new TwitterCore(authConfig), new Digits.Builder().build());
setContentView(R.layout.activity_about);
DigitsAuthButton digitsButton = (DigitsAuthButton) findViewById(R.id.auth_button);
digitsButton.setCallback(new AuthCallback() {
@Override
public void success(DigitsSession session, String phoneNumber) {
// TODO: associate the session userID with your user model
Toast.makeText(getApplicationContext(), "Authentication successful for "
+ phoneNumber, Toast.LENGTH_LONG).show();
Intent intent=new Intent(AboutActivity.this,Profile_info.class); // redirecting to LoginActivity.
startActivity(intent);
}
@Override
public void failure(DigitsException exception) {
Log.d("Digits", "Sign in with Digits failure", exception);
}
});
}
}
这是我的日志猫
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.close.close/com.close.close.AboutActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2348)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5348)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.close.close.AboutActivity.onCreate(AboutActivity.java:34)
at android.app.Activity.performCreate(Activity.java:6012)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2410)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1313)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5348)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
这是我的activity_about.xml
<?xml version="1.0" encoding="utf-8"?>
<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:background="#FD579D"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.close.close.AboutActivity"
android:orientation="horizontal">
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="28dp"
android:gravity="center_horizontal"
android:text="@string/welcome"
android:textColor="#FFFFFF"
android:textSize="37sp"/>
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="80dp"
android:gravity="center_horizontal"
android:text="@string/to"
android:textColor="#FFFFFF"
android:textSize="37sp"/>
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="128dp"
android:gravity="center_horizontal"
android:text="@string/close"
android:textColor="#FFFFFF"
android:textSize="37sp"/>
<TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="189dp"
android:gravity="center_horizontal"
android:text="@string/about"
android:textColor="#FFFFFF"
android:textSize="18sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="50dp"
android:weightSum="1"
android:layout_marginStart="164dp"
android:layout_below="@+id/textView4"
android:layout_alignParentStart="true">
</LinearLayout>
<com.digits.sdk.android.DigitsAuthButton
android:id="@+id/auth_button"
android:layout_width="148dp"
android:layout_height="48dp"
android:background="@drawable/dgts__digits_btn"
android:orientation="vertical"
android:layout_marginTop="54dp"
android:layout_below="@+id/textView4"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
答案 0 :(得分:1)
更改此
public class AboutActivity extends AppCompatActivity {
到这个
public class AboutActivity extends Activity {