我是
android的新手,我只想从我要开发的应用程序中创建一个Facebook事件.稍后我会添加邀请朋友的功能.
我想以通知或任何好的方式显示邀请.
我想以通知或任何好的方式显示邀请.
我在互联网上做了很多研究,但找不到解决方案.
我真的很感激任何解决方案……
谢谢!
解决方法
package com.tharaka.facebook; import java.io.FileNotFoundException; import java.io.IOException; import java.net.MalformedURLException; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; import com.facebook.android.AsyncFacebookRunner; import com.facebook.android.AsyncFacebookRunner.RequestListener; import com.facebook.android.DialogError; import com.facebook.android.Facebook; import com.facebook.android.Facebook.DialogListener; import com.facebook.android.FacebookError; import com.tharaka.facebook.R; public class MainActivity extends Activity implements OnClickListener { // Your Facebook APP ID private static String APP_ID = "392736034134808"; // Replace your App ID // here // Instance of Facebook Class private Facebook facebook; private AsyncFacebookRunner mAsyncRunner; String FILENAME = "AndroidSSO_data"; private SharedPreferences mPrefs; private Button btnFbLogin; private Button btnCreateEvent; private String TAG="MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initialize(); setListeners(); } private void initialize() { facebook = new Facebook(APP_ID); mAsyncRunner = new AsyncFacebookRunner(facebook); btnFbLogin = (Button) findViewById(R.id.button_FbLogin); btnCreateEvent = (Button) findViewById(R.id.button_createEvent); } private void setListeners() { btnFbLogin.setonClickListener(this); btnCreateEvent.setonClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main,menu); return true; } @Override public void onClick(View view) { switch (view.getId()) { case R.id.button_FbLogin: loginToFacebook(); break; case R.id.button_createEvent: createEvent(); Toast.makeText(getApplicationContext(),"New Event Created!!",Toast.LENGTH_LONG).show(); break; default: break; } } private void loginToFacebook() { mPrefs = getPreferences(MODE_PRIVATE); String access_token = mPrefs.getString("access_token",null); long expires = mPrefs.getLong("access_expires",0); if (access_token != null) { facebook.setAccesstoken(access_token); } if (expires != 0) { facebook.setAccessExpires(expires); } if (!facebook.isSessionValid()) { facebook.authorize(this,new String[] { "email","publish_stream","create_event" },new DialogListener() { @Override public void onCancel() { // Function to handle cancel event } @Override public void onComplete(Bundle values) { // Function to handle complete event // Edit Preferences and update facebook acess_token SharedPreferences.Editor editor = mPrefs.edit(); editor.putString("access_token",facebook.getAccesstoken()); editor.putLong("access_expires",facebook.getAccessExpires()); editor.commit(); } @Override public void onError(DialogError error) { // Function to handle error } @Override public void onFacebookError(FacebookError fberror) { // Function to handle Facebook errors } }); } } private void createEvent() { try { Bundle params = new Bundle(); params.putString("name","This is a test event"); params.putString("start_time","2013-12-02T18:00:00+0530"); params.putString("end_time","2013-12-02T20:00:00+0530"); params.putString("description","This is test description yeah?."); params.putString("location","Mount Lavinia"); //params.putString("location_id",""); params.putString("privacy_type","OPEN"); mAsyncRunner.request("me/events",params,"POST",new RequestListener() { @Override public void onMalformedURLException(MalformedURLException e,Object state) { } @Override public void onIOException(IOException e,Object state) { } @Override public void onFileNotFoundException(FileNotFoundException e,Object state) { } @Override public void onFacebookError(FacebookError e,Object state) { } @Override public void onComplete(String response,Object state) { try { JSONObject event = new JSONObject(response); String event_id = event.getString("id"); Log.i(TAG,"Event id => "+event_id); //Toast.makeText(getApplicationContext(),Toast.LENGTH_LONG).show(); } catch (Exception e) { } } },null); } catch (Exception e) { } } }