我正在按照很多说明从我的应用程序发出简单的推文.我已经在Twitter上注册了,但我不能发推文.我可以登录,但不能更新我的状态.这是登录的代码
private void twitterLogOn() {
Twitter twitter = new TwitterFactory().getInstance();
try {
twitter.setOAuthConsumer(consumerKey, consumerSecret);
rToken = twitter.getOAuthRequestToken(myCallBack);
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(rToken.getAuthenticationURL())));
} catch (IllegalStateException e) {
// access token is already available, or consumer key/secret is not
// set.
if (!twitter.getAuthorization().isEnabled()) {
System.out.println("OAuth consumer key/secret is not set.");
finish();
}
} catch (Exception e) {
Toast.makeText(Configuration.this,getString(R.string.networkError), Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但是当我在登录后返回我的应用程序时,应该执行下一个代码,始终以Toast为例结束.
public void onResume() {
super.onResume();
Uri uri = getIntent().getData();
if (uri != null) {
oauthVerifier = uri.getQueryParameter("oauth_verifier");
try {
Twitter tt …
Run Code Online (Sandbox Code Playgroud) 我正在某个项目上使用支持库v7.我正在尝试像这样实例化支持操作栏:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.top_action_bar);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setHomeButtonEnabled(true);
Run Code Online (Sandbox Code Playgroud)
在Android lvl低于11的Android设备上,一切正常.但是,在尝试在较新的设备上运行相同的代码时,例如带有Android 4+的Samsung Galaxy S4,getSupportActionBar()始终返回null,从而导致预期的崩溃.我正在使用这个样式文件:
<style name="my_style" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/my_style_ab</item>
<item name="android:windowNoTitle">true</item>
</style>
<style name="my_style_ab" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:height">70dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
什么可能是错的暗示?我认为它与样式有关,或者我可能无法在上面的API lvl上使用支持ActionBar 11.提前感谢.
我正在尝试将GCM实施到Android中的应用程序.服务器和客户端设置似乎是正确的,因为当我从服务器端"推"一个字符串时调用onMessage方法.我可以从意图中读取额外内容,但是,使用通知或Toast消息不起作用.即使应用程序正在运行,手机也没有显示任何内容,所以我想我使用回调中使用的上下文对象有些不对劲.这是manifest.xml的revelvant部分,其中PACKAGE是基础包.
<receiver
android:name="PACKAGE.gcm.GCMReceiver"
android:enabled="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="PACKAGE" />
</intent-filter>
</receiver>
<service
android:name="PACKAGE.gcm.GCMIntentService"
android:enabled="true" />
</application>
<permission
android:name="PACKAGE.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="PACKAGE.C2D_MESSAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- App receives GCM messages. -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
现在onMessage方法:
@Override
protected …
Run Code Online (Sandbox Code Playgroud)