رفتن به مطلب
  • 0

خطای no activity found to handle intent


rasoul.t

سوال

سلام

من یه فایلی رو میخوام با یه برنامه باز کنم ولی هر کاری میکنم نمیشه. کد ها رو درست نوشتم. برنامه هم با همون پکیج نیم در گوشیم نصبه ولی بازم این خطا رو میده. گفتن باید تو قسمت manifest editor یه چیزایی بنویسم. لطفا کمک کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

13 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 13 دقیقه قبل، rasoul.t گفته است :

اسم پکیج رو کجا باید اضافه کنم؟

میخوام فایلم فقط با همون برنامه باز بشه

این فایل که بجز اون برنامه با برنامه دیگه ای باز نمیشه.

شما همینو تست کنید فعلا. حالا اونم میگیم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آخه پروژه من شامل دوتا برنامه هست. یکیش که شامل منوی اصلی و دکمه ها و رام بازی هست که پس از اجرا اون رام رو کپی میکنه تو حافظه و سپس باید با استفاده از یه برنامه دیگه با پکیج نیم com.explusalpha.MdEmu که یک شبیه ساز سگا هست رام رو باز بکنه و بازی اجرا بشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1395/09/28, 13:10:33، rasoul.t گفته است :

اسم پکیج رو کجا باید اضافه کنم؟


توی کد جاوا قبل از startActivity، متد setPackage رو قرار بدید:

public void startopen(String name){
	Intent intent = new Intent(Intent.ACTION_VIEW);
	MimeTypeMap mime = MimeTypeMap.getSingleton();
	String ext = name.substring(name.lastIndexOf(".") + 1);
	String type = mime.getMimeTypeFromExtension(ext);
	intent.setDataAndType(Uri.fromFile(new File(name)), type);
	
	intent.setPackage("org.telegram.messenger");  //پکیج نِیم
	
	startActivity(intent);
	
}

برای مثال من اینجا پکیج تلگرام رو قرار دادم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بازم نمیشه

کدهایی که نوشتم اینا هستن

Sub Activity_Create(FirstTime As Boolean)
            File.Copy(File.DirAssets,"game.bin",File.DirRootExternal,"game.bin")
   End Sub

Sub BtnPlay_Click
        Dim sega As Intent
    sega.Initialize(sega.ACTION_VIEW,"file://"&File.Combine(File.DirRootExternal,"game.bin"))
    sega.SetComponent("com.explusalpha.MdEmu")
    StartActivity(sega)
End Sub

#If java
import java.io.File;
import android.webkit.MimeTypeMap;
import android.net.Uri;
import android.os.Bundle;
import android.content.Intent;

Public void startopen(String name){
    //pejman nikravan
    Intent intent = new Intent(Intent.ACTION_VIEW);
    MimeTypeMap mime = MimeTypeMap.getSingleton();
    String ext = name.substring(name.lastIndexOf(".") + 1);
    String type = mime.getMimeTypeFromExtension(ext);
    intent.setDataAndType(Uri.fromFile(new File(name)), type);
    intent.setPackage("com.explusalpha.MdEmu");
    startActivity(intent);
}
#End If
Dim j As JavaObject
    j.InitializeContext
j.RunMethod("startopen",Array As Object(File.Combine(File.DirRootExternal,"game.bin")))

و پیغام خطایی که میده اینا هستن

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///storage/emulated/0/game.bin flg=0x20000 }


    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1815)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1513)
    at android.app.Activity.startActivityForResult(Activity.java:3940)
    at android.app.Activity.startActivityForResult(Activity.java:3888)
    at android.app.Activity.startActivity(Activity.java:4211)


    at android.app.Activity.startActivity(Activity.java:4179)
    at anywheresoftware.b4a.keywords.Common.StartActivity(Common.java:696)
    at com.parian.rumpelstiltskin.mainmenu._btnothers_click(mainmenu.java:467)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:175)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:163)
    at anywheresoftware.b4a.BA.raiseEvent(BA.java:159)
    at anywheresoftware.b4a.objects.ViewWrapper$1.onClick(ViewWrapper.java:77)
    at android.view.View.performClick(View.java:5106)
    at android.view.View$PerformClick.run(View.java:20329)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5912)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///storage/emulated/0/game.bin flg=0x20000 }

 

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 1 ساعت قبل، rasoul.t گفته است :

کدهایی که نوشتم اینا هستن

برادر من چی گفتم؟ شما چی نوشتید؟:shok:

کدهارو به این صورت تصحیح کنید. از اول هم درحد تست گفتم، مطمئن هم نیستم کار میکنه یانه. اما شما کلا سینتکس رو اشتباه رفتید.

 

Sub Activity_Create(FirstTime As Boolean)
            File.Copy(File.DirAssets,"game.bin",File.DirRootExternal,"game.bin")
   End Sub

Sub BtnPlay_Click
   Dim j As JavaObject
    j.InitializeContext
j.RunMethod("startopen",Array As Object(File.Combine(File.DirRootExternal,"game.bin")))
End Sub

#If java
import java.io.File;
import android.webkit.MimeTypeMap;
import android.net.Uri;
import android.os.Bundle;
import android.content.Intent;

Public void startopen(String name){
    //pejman nikravan
    Intent intent = new Intent(Intent.ACTION_VIEW);
    MimeTypeMap mime = MimeTypeMap.getSingleton();
    String ext = name.substring(name.lastIndexOf(".") + 1);
    String type = mime.getMimeTypeFromExtension(ext);
    intent.setDataAndType(Uri.fromFile(new File(name)), type);
    intent.setPackage("com.explusalpha.MdEmu");
    startActivity(intent);
}
#End If

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ولی من همچین چیزی رو هم تست کردم اما در کتابخانه javaobjext چیزی تحت عنوان InitializeContext وجود نداره و موقع کامپایل خطای unknown member: initializecontext رو میده

هرچی هست مربوط به قسمت manifest editor باید باشه

من خودم سورس یه اپ بازی سگا رو با apkeditor بررسی کردم داخل پوشه هاش یه فایل نصبی شبیه ساز سگا بود با یه دونه فایل بازی. بنابراین این قابلیت باید بشه. ولی نمیدونم چجوری

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دقیقا چه فایلی با چه برنامه ای میخواین باز کنین؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من یه شبیه ساز سگا تو گوشیم نصب کردم.

با این پکیج نیم : com.explusalpha.MdEmu

و کدهایی که تو برنامه نوشتم به این صورت هست:

file.copy(file.dirassets,"game.bin",file.dirrootexternal,"game.bin")

Dim sega as intent

sega.initialize(sega.ACTION_VIEW,"file://",file.combine(file.dirrootexternal,"game.bin"))

Sega.setcomponent("com.explusalpha.MdEmu")

Startactivity(sega)

ولی موقعی که رو دکمه میزنم همون پیغام خطا رو میده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کسی نیست کمکم کنه؟ من میخوام وقتی یه دکمه ای رو میزنم فایل x با استفاده از برنامه y باز بشه. همین.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

این روشی که میگم تست کنید.

بااینکار نیازی نیست فرمت فایل مورد نظر رو بدید و یا...

فایل رو خودش شناسایی میکنه و با برنامه مورد نظر بازش میکنه(هربرنامه ای که قادر به باز کردن اون فایل باشه)

 

اول این متد رو آخر یکی از End Sub ها توی فضای خالی کپی کنید:

#if java
import java.io.File;
import android.webkit.MimeTypeMap;
import android.net.Uri;
import android.os.Bundle;
import android.content.Intent;

public void startopen(String name){
	//pejman nikravan
	Intent intent = new Intent(Intent.ACTION_VIEW);
	MimeTypeMap mime = MimeTypeMap.getSingleton();
	String ext = name.substring(name.lastIndexOf(".") + 1);
	String type = mime.getMimeTypeFromExtension(ext);
	intent.setDataAndType(Uri.fromFile(new File(name)), type);
	startActivity(intent);
}
#end if

بعدش کتابخانه JavaObject رو تیک بزنید و آدرس فایل مورد نظر رو بدید:

Dim j As JavaObject
j.InitializeContext
j.RunMethod("startopen",Array As Object(File.Combine(File.dirrootexternal,"game.bin")))

 

یادتون باشه دیگه اون تکه کد کپی کردن فایل از پوشه Files به حافظه خارجی رو یادتون نره قبلش حتما اضافه کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

ببینید ارور میگه که اکتیویتی نیست که این اینتنت رو اجرا کنه شما بیا کد های زیر رو تست کنید...

	Dim i As Intent
	i.Initialize(i.ACTION_VIEW,"file://%rom")
	i.SetComponent("com.explusalpha.MdEmu/com.imagine.BaseActivity")
	StartActivity(i)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...