私のアプリが MyFriendsSecrets であるとします..私は自分のアプリから投稿を送信しています。アプリケーション名をに取得する方法DialogBox
(例: 上の写真から: "via MyFriendSecrets") 私は以下のようなオブジェクトを持っていますTextView
TextView
JSON
JSONObject me = new JSONObject(facebook.request("me"));
次のようにandroidmanifestでアプリ名を定義すると
<application
...
android:label="@string/app_name">
</application>
アプリ名を直接入力できgetString(R.string.app_name)
、アプリ名が定義されている場所は 1 つだけです
それはあなたのアプリの名前です... Androidデバイスでは、ドロップボックスで... Facebookもこの実際のアプリ名を使用していると思います
おそらく、android.content.pm.PackageManager でいくらか安心できるでしょうか? これにより、マニフェスト内で宣言された情報にアクセスできます。
アプリケーション テーブルを対象とする FQL クエリを実行します。独自のアプリで作業していて、そのアプリ ID にアクセスできるため、このクエリの作成は非常に簡単です。
このコードを試してください:
String queryApp = "SELECT display_name, namespace FROM application WHERE app_id=284752504943219";
Bundle paramsApp = new Bundle();
paramsApp.putString("method", "fql.query");
paramsApp.putString("query", queryApp);
String resultApp = Utility.mFacebook.request(paramsApp);
Log.e("APP RESULT", resultApp);
JSONArray JAApp = new JSONArray(resultApp);
for (int i = 0; i < JAApp.length(); i++) {
JSONObject JOApp = JAApp.getJSONObject(i);
String getDisplayName = JOApp.getString("display_name");
Log.e("DISPLAY NAME", getDisplayName);
}
クエリのdisplay_nameフィールドは、アプリ経由で投稿するときに Facebook に表示されるアプリの名前を返します (OP に添付された図に示されているように)。結果を解析し、に設定しますTextView
。
これは Facebook API に直接クエリを実行するため、Facebook 開発者コンソールを介してアプリの名前を変更する場合、文字列を手動で変更する必要はありません。
このコードをstring.xmlに貼り付けるだけです。
<string name="app_name">youAppName</string>
次に、Javaコードで次のようにします
String appName = this.getString(R.string.app_name);
TextView appTextView = (TextView)findViewById(R.id.appTextView);
appTextView.setText(appName);
乾杯!!!!!