안 드 로 이 드 아이 폰 모 바 일 앨범
4217 단어 Unity3D
http://www.taidous.com/bbs/forum.php?mod=viewthread&tid=24476
요약:
첫 번 째 단계: 새 안 드 로 이 드 프로젝트, 유 니 티 class. jar 패키지 가 져 오기 (유 니 티 에서 classes. jar 를 찾 습 니 다. 구체 적 인 경 로 는 유 니 티 \ \ Editor \ Data \ \ PlaybackEngines \ \ androidplayer \ release \ bin \ classes. jar), 저장 함 수 를 작성 합 니 다.
package com.zz.cutimage;
import java.io.File;
import java.io.FileNotFoundException;
import java.lang.reflect.Field;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.MediaStore;
import android.util.Log;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
// Button btn ;
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
// btn = (Button)findViewById(R.id.btn);
// btn.setOnClickListener(new OnClickListener() {
//
// @Override
// public void onClick(View arg0) {
//
// saveImageToGallery(MainActivity.this, "Environment.getExternalStorageDirectory().getPath() + File.separator + taidous/a.jpg");
// }
// });
// }
public static void SaveImageToGallery(String path)
{
try{
Class> m_ClassUnityPlayer = Class.forName("com.unity3d.player.UnityPlayer");
Field m_CurrentActivityFieldUnityPlayer = m_ClassUnityPlayer.getField("currentActivity");
Activity currentActivity = (Activity) m_CurrentActivityFieldUnityPlayer.get(m_ClassUnityPlayer);
Context context = currentActivity;
File file = new File(path);
Log.i("SaveImageToGallery", file.getPath() + "--" + file.length());
String url = "";
//
try {
url = MediaStore.Images.Media.insertImage(context.getContentResolver(),
file.getAbsolutePath(), file.getName(), null);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Log.i("SaveImageToGallery", file.getPath() + "--" + file.length());
//
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getPath())));
}catch(Exception e)
{
Log.e("SaveImageToGallery", e.getMessage());
}
}
}
두 번 째 부분: jar 가방 을 유 니 티 로 내 보 냅 니 다. 유 니 티 는 Androiddminfest 에 가방 을 포함 합 니 다.
세 번 째 부분: 유 니 티 스 크 립 트 에서 호출:
public void OnClickSavePhoto()
{
var bytes = photoTex2d.EncodeToPNG();
string path = Application.persistentDataPath + "/" + System.DateTime.Now.ToLongTimeString() + ".png";
#if UNITY_EDITOR
File.WriteAllBytes(Application.dataPath + "/SavedScreen.png", bytes);
#elif UNITY_ANDROID || UNITY_IPHONE
File.WriteAllBytes(path, bytes);
#endif
sharePhotoPanel.SetActive(false);
#if UNITY_ANDROID
try
{
AndroidJavaClass testActivityClass = new AndroidJavaClass("com.zz.cutimage.MainActivity");
Debug.LogWarning("screenShot in android");
if (testActivityClass != null)
{
Debug.LogWarning("testActivityClass note null");
object[] objs = new object[] { path };
testActivityClass.CallStatic("SaveImageToGallery", objs);
}
}
catch (System.Exception e)
{
Debug.LogError(e);
}
#endif
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Unity 공부 일지~블렌드 셰이프 조작 방법 그 ①게임을 만들고 싶다 ~라고 생각하고 마지막 날부터 Unity를 만지기 시작했습니다 HITOMI2236입니다. 이번 블렌드 셰이프에 대해 조사했으므로 여기에 기록하려고 합니다. 개인용 메모입니다만, 만약 같은 곳에서 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.