小编sit*_*uck的帖子

什么是授权实体?在自己的应用程序中找不到gcm_defaultSenderId

我正在尝试使用Google Cloud Messaging运行我的应用.我正在关注可以在github上找到的Google Cloud Messaging快速入门应用程序.

在他们的快速入门应用程序中,我们会向Google Cloud Messaging服务部门申请注册令牌,以便我们的应用程序实例可以与云对话.

我发现这行代码:

RegistrationIntentService.java::onHandleIntent(Intent intent): 

InstanceID instanceID = InstanceID.getInstance(this);
String gcmRegistrationToken = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
                    GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
Run Code Online (Sandbox Code Playgroud)

令我困惑的部分是这个值:R.string.gcm_defaultSenderId 它在他们的快速入门应用程序中定义,但它是自动生成的.

我怎么能让我的应用程序生成该值?

在这里查找InstanceID.getToken的文档 getToken(java.lang.String, java.lang.String)

InstanceID.getoken返回授权实体(例如:云服务)的令牌,以代表由实例ID标识的应用程序执行操作.这与OAuth2令牌类似,但它适用于应用程序实例而不是用户.

函数标题如下所示:

public String getToken (String authorizedEntity, String scope)
Run Code Online (Sandbox Code Playgroud)

我看到第一个需要的arg getTokenString authorizedEntity.那么,这个authorizedEntity字符串应该是什么?
它清楚地标识了发出请求的应用程序的实例,但我应该如何生成它?在快速启动应用程序中,我找不到它定义res/value/strings.xml,我只能在R.java中找到它定义app/build/generated/res/google-services/debug/values/values.xml

看起来像:

<resources>
<string name="gcm_defaultSenderId">175643285</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

该文件中只有一个字符串,该文件深埋在项目结构中.我无法在代码中找到以gcm_defaultSenderId编程方式生成的任何地方.

我很困惑,因为我怎么知道字符串在那里?我从来没有定义过这个字符串,并且谷歌搜索"无法解决gcm_DefaultSenderId"没有给出任何结果.我正在尝试在自己的应用中实施Google Cloud Messaging,因此我自己的应用程序当然不会自动知道生成该字符串.我该怎么做那个身份证号码?

这就是为什么我认为重要的是我理解InstanceID.getToken想要的这个authorizedEntity字符串是什么,以便我可以正确地生成一个给getToken.也许我的想法是完全错误的,也许我不应该生成gcm_defaultSenderId,但我知道我不应该改变R.java,并且该values.xml文件也在"生成"文件夹下.

请帮忙?如果我在搜索中找到答案,我会很乐意发布答案.非常感谢任何帮助,请注意:我的项目从Eclipse导出到Gradle,因此它仍然具有Eclipse项目/文件夹结构,不应该导致任何问题,但文件位于不同的位置.values.xml

java android google-cloud-messaging android-studio

29
推荐指数
2
解决办法
1万
查看次数

能力/设置不在Android Studio中复制空白行

在visual studio中有一个设置,使编辑器知道如果我不小心点击cntrl c但是我在空行,它将不会复制空白区域.

此功能非常有用,经过一些谷歌搜索,我不相信Android Studio中存在此功能.

但是,我想让其他人确保此功能不存在,因为它非常有用.

android copy-paste android-studio

3
推荐指数
1
解决办法
263
查看次数

Android - 无法解析getSupportFragmentManager的符号

这是我的ItemAdapter的代码,我以这种方式用作列表的适配器.

list.setAdapter(new ItemAdapter(thisContext,imageUrl));
Run Code Online (Sandbox Code Playgroud)

我正在尝试为按钮添加onclick侦听器,该按钮将向ListFragment添加项目.当我编译时,它说"无法解析符号getSupportFragmentManager".见下面的粗体.但我很确定我导入了android.support.v4.app.FragmentActivity(见下文).我在我的主要活动中使用了相同的getSupportFragmentManager,它可以工作.我不明白为什么不在这里.如果不是,我应该如何获取HeadlinesFragment以便我可以添加到该片段中的列表?

感谢我能得到的任何帮助.

码头.

package com.suite.android.menu;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
**import android.support.v4.app.FragmentActivity;**


public class ItemAdapter extends BaseAdapter {

private Context itemPageContext;
private String imagesUrl[];
private static final String TAG = "ItemAdapter" ;

public ItemAdapter(Context c, String[] imageUrl)
{
   super();
   itemPageContext = c;
   imagesUrl = imageUrl.clone();  // copy over


}

private LayoutInflater getLayoutInflater()
{
    return (LayoutInflater) itemPageContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public View getView(final …
Run Code Online (Sandbox Code Playgroud)

android list fragment

1
推荐指数
1
解决办法
1万
查看次数